What are generic attributes in C# 11?

Generic attributes increase the flexibility of a very early .NET feature. Let’s try using them and see how it keeps our code DRY.

  Aug 23, 2023 (rev. Sep 16, 2025) ·  6 min

Simple ways to notify a user without a MessageBox in WinForms

When sending notifications in a WinForms app, a MessageBox is the only way to go… or is it? Let’s get creative and see what else we might do.

  Aug 16, 2023 (rev. Sep 16, 2025) ·  6 min

Adding deconstructors to C# types

We can deconstruct tuples in C#, but does it work with other types? And assuming it does (spoiler - it does), is it worth bothering with?

  Jun 15, 2023 (rev. Sep 16, 2025) ·  5 min

Generic Math Support in C# 11

What is Generic Math support in C# 11, and how do we take advantage of it? Let’s dig in and find out! (part 3 of 3)

  Apr 5, 2023 (rev. Sep 16, 2025) ·  10 min

Overloading arithmetic, equality, and comparison operators in C#

What’s it mean to overload operators in C#? And what’s that have to do with Generic Math in C# 11? Let’s find out! (part 2 of 3)

  Apr 1, 2023 (rev. Sep 16, 2025) ·  7 min

What is a static abstract interface method in C#?

What are static abstract members (new in C# 11), what can we do with them, and how are they related to Generic Math? (part 1 of 3)

  Mar 31, 2023 (rev. Sep 16, 2025) ·  8 min

Using Tuples and deconstruction to return multiple values in C#

A big challenge with any language is trying to group and organize things sensibly, and returning multiple values is no exception. Let’s check out Tuples and deconstruction, and see how they can help us out.

  Jan 5, 2023 (rev. Sep 16, 2025) ·  4 min

Named arguments in C#

Named arguments in C#.. they’ve been around a long time, but does anyone use them? Let’s check out another feature that helps tame wild code.

  Oct 12, 2022 (rev. Sep 16, 2025) ·  6 min

Local functions in C# (aka nested methods)

C# 7 introduced a new tool for the belt - local functions. Let’s take a look at what they are, how to use them, and why we might not want to.

  Oct 8, 2022 (rev. Sep 16, 2025) ·  6 min

Checking for null in C#, using the null-conditional and null-coalescing operators

Checking for nulls in C# is tedious, but C# 6 gave us the null-conditional and null-coalescing operators. Let’s see how they’ve improved things.

  Sep 27, 2022 (rev. Sep 16, 2025) ·  6 min