What's the difference between singleton, scoped, and transient?

It’s trivial to register a dependency in a .NET API, but it’s important to clarify a few terms that drastically change a dependency’s lifetime.

  Jul 28, 2023 (rev. Sep 16, 2025) ·  3 min

How can I generate a new GUID?

GUIDs are heavily used in the world of development, so let’s look at a few quick and easy ways to generate them whenever we need them.

  Jul 27, 2023 (rev. Sep 16, 2025) ·  4 min

Comparing files in VS Code

VS Code is a great editor with a lot of useful features, like being able to compare two random files for differences. Let’s see how.

  Jul 26, 2023 (rev. Sep 16, 2025) ·  2 min

How to log messages to multiple targets with NLog

When it comes to finding a bug in an app, few things beat a good trail of logs. And for writing those logs, few tools beat NLog in simplicity or flexibility. I rarely appreciate just how flexible it is though, so it’s worth spending a little time taking a closer look.

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

What is the NUnit constraint model?

I recently discovered the constraint model in NUnit. It’s been there for years, hiding in plain sight! What is it? Is it worth using? Let’s check it out.

  Jun 26, 2023 (rev. Sep 16, 2025) ·  9 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