Today I learned that you can use C# records that were introduced in C# 9 even if you’re not on .NET Core yet.

NDepend has a post on how to do this which is slightly more involved.

But per this Stack Overflow answer, all I did was add a file with the following:

namespace System.Runtime.CompilerServices { internal class IsExternalInit { } }

and that worked.

I’ve been using them in unit tests like this post describes.