Further reading
You can find more information about features discussed in this chapter at these URLs:
- Guard Clauses library: https://github.com/ardalis/GuardClauses
- Fluent Validation library: https://github.com/FluentValidation/FluentValidation
- Caller Member Information: https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/attributes/caller-information
- Primary constructors and using aliases: https://devblogs.microsoft.com/dotnet/check-out-csharp-12-preview/
- Safer Nullability in Modern C#: https://newdevsguide.com/2023/02/25/csharp-nullability/
- Classes, structs, and records in C#: https://learn.microsoft.com/en-us/dotnet/csharp/fundamentals/object-oriented/
- Choosing Between Exceptions or Validation: https://ardalis.com/guard-clauses-and-exceptions-or-validation/