Использование C# версии 8.0 Внедрение нулевых типов эталон и не нулевых ссылок, я могу сделать что-то вроде этого:
Код: Выделить всё
public class Response
{
public Response(Exception? ex)
{
_ex = ex;
}
private Exception? _ex;
public Exception? Ex
{
get => _ex;
set { _ex = value; }
}
}
Я могу инициализировать _ex to null через конструктор. Однако, как только экземпляр создан, я хотел бы, чтобы сети не смог установить значение ex null (удалив знак вопроса из типа) ... что-то вроде кода ниже, что, конечно, не компилируется.
Код: Выделить всё
public class Response
{
public Response(Exception? ex)
{
_ex = ex;
}
private Exception? _ex;
public Exception? Ex
{
get => _ex;
}
public Exception Ex
{
set { _ex = value; }
}
}
Одна работа, конечно, - установить значение _ex с помощью метода вместо сеттера, но я все равно решил спросить.
Подробнее здесь:
https://stackoverflow.com/questions/685 ... ble-setter