"Null-Correctness Assisting Attributes: DisallowNull"

// DisallowNull indicates that a null value is not permitted when setting/passing a value.

// Although the type of this property is string? we don't wish to allow anyone to actually *set* a null value,
// it's just that the value may be still be null when retrieved. Hence we mark it with [DisallowNull].

[DisallowNull]
public string? NullableProperty {
	get => _nullableField;
	set => _nullableField = value ?? throw new ArgumentNullException(nameof(value));
}


Code snippet taken from "Two Decades of C#: A Reference - C# 8".