Notice: Function WP_Scripts::add was called incorrectly. The script with the handle "markdown-renderer" was enqueued with dependencies that are not registered: mermaid-js, prism-core. Please see Debugging in WordPress for more information. (This message was added in version 6.9.1.) in /home/dataadl/www/wp-includes/functions.php on line 6131

Designing for Nullability in C#

With Nullable Reference Types (NRTs) enabled by default in .NET 6 templates, designing APIs that clearly communicate nullability is no longer optional—it’s expected.

Enabling NRTs

<PropertyGroup>
    <Nullable>enable</Nullable>
</PropertyGroup>

Guard Clauses

Use the new .NET 6 helper to throw if null.

public void SetName(string name)
{
    ArgumentNullException.ThrowIfNull(name);
    _name = name;
}

Key Takeaways

  • Use `string?` to explicitly mark nullable strings.
  • Use `!` (null-forgiving operator) sparingly—only when you truly know better than the compiler.
  • Enable `Nullable` to enforce discipline.

Discover more from C4: Container, Code, Cloud & Context

Subscribe to get the latest posts sent to your email.

Leave a comment

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.