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.
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.
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.
What is the NUnit constraint model and should you use it? 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.
Adding deconstructors to your own (and built-in) types in C#... is it worth it? 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?
What is Generic Math Support in C# 11? (with simple examples) 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)
How do I overload 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)