Moving beyond classes
In C# 9 and beyond, Microsoft has made concerted efforts to give developers new options for working with classes through things such as record types, init-only properties, primary constructors, and more.
In this section, we’ll explore how these newer C# constructs can improve the design of your classes.
Preferring immutable classes
In recent years, immutable classes have become more and more popular. This immutability refers to the inability to change an object after it has been created.
What this means is that once an object exists, you cannot modify its state and instead are limited to creating new objects that are like the original. If you’re familiar with working with string and DateTime objects in .NET, you’ve seen this concept with methods such as ToLower
on string and AddDays
on DateTime returning a new object instead of modifying the original object.
Let’s look at a small class representing a boarding pass that...