. Net Core позволяет вам украсить свойство с помощью [DisallowNull
] , чтобы сообщить компилятору, что коду не разрешено устанавливать свойство равным нулю, даже если само свойство объявлено как разрешить это. Например:
public sealed class Test
{
[DisallowNull] public string? Text { get; set; }
}
Это прекрасно работает, когда вы пытаетесь явно установить для свойства значение null:
var test = new Test();
test.Text = null; // Warning: "Cannot convert null literal to non-nullable reference type".
Однако оно не работает, если вы используете инициализатор объекта:
var test = new Test
{
Text = null // No warning. I want one.
};
Есть ли способ заставить приведенный выше код вызвать предупреждение / ошибку компилятора?