Выдает предупреждение при приведении обнуляемого типа к соответствующему примитивному типу вместо использования свойства Value - PullRequest
0 голосов
/ 15 января 2019

Я бы хотел не попасть в следующую яму:

int? data = null;
... 
... 
int result = (int)data;

Приведенный выше код компилируется без ошибок и предупреждений и приведет к исключению Nullable object must have a value в случае, если data равно нулю.

Есть ли предупреждение о том, что мы можем включить Visual Studio (Сообщество / Профессионал / Код), чтобы запретить этот вид явного приведения, по существу, принудительно используя свойство Value? Таким образом, я думаю, что есть более высокие шансы, что вы не пропустите нулевую проверку.

1 Ответ

0 голосов
/ 31 января 2019

Это возможно с C # 8:

Добавьте прагму #nullable enable в любом месте исходного файла или примените ее ко всему проекту ( source ). Вы получите предупреждение: Nullable value type may be null.

...