using System.Runtime.CompilerServices;
public static class NullExtensions
public static T ThrowIfNull<T>(
string? message = default,
[CallerArgumentExpression("argument")] string? paramName = default
throw new ArgumentNullException(paramName, message);
public static void Main()
Console.WriteLine("Hello World");
string nonNullableFoo = foo.ThrowIfNull();
Console.WriteLine(nonNullableFoo);
bool nonNullableBaz = baz.ThrowIfNull();
Console.WriteLine(nonNullableFoo);
int nonNullableBar = bar.ThrowIfNull();
Console.WriteLine(nonNullableBar);