Использование распространения значений NULL (IDE0031)
Свойство | Значение |
---|---|
Идентификатор правила | IDE0031 |
Title | Использование распространения значений NULL |
Категория | Стиль |
Подкатегория | Правила языка (настройки уровня выражения) |
Применимые языки | C# и Visual Basic |
Параметры | dotnet_style_null_propagation |
Общие сведения
Это правило стиля относится к использованию условного оператора null и тернарного условного выражения с проверка null.
Варианты
Задайте значение связанного параметра, чтобы указать, какие операторы — условные операторы null или тернарные условные выражения с проверками NULL.
Дополнительные сведения о настройке параметров см. в разделе Формат параметра.
dotnet_style_null_propagation
Свойство | Значение | Описание |
---|---|---|
Имя параметра | dotnet_style_null_propagation | |
Значения параметра | true |
Предпочитать использовать условный оператор NULL, когда это возможно |
false |
Предпочитать использовать тернарную проверку значений NULL, где это возможно | |
Значение параметра по умолчанию | true |
// dotnet_style_null_propagation = true
var v = o?.ToString();
// dotnet_style_null_propagation = false
var v = o == null ? null : o.ToString(); // or
var v = o != null ? o.ToString() : null;
' dotnet_style_null_propagation = true
Dim v = o?.ToString()
' dotnet_style_null_propagation = false
Dim v = If(o Is Nothing, Nothing, o.ToString()) ' or
Dim v = If(o IsNot Nothing, o.ToString(), Nothing)
Отключение предупреждений
Если вы хотите подавить только одно нарушение, добавьте директивы препроцессора в исходный файл, чтобы отключить и снова включить правило.
#pragma warning disable IDE0031
// The code that's violating the rule is on this line.
#pragma warning restore IDE0031
Чтобы отключить правило для файла, папки или проекта, задайте для его серьезности none
значение в файле конфигурации.
[*.{cs,vb}]
dotnet_diagnostic.IDE0031.severity = none
Чтобы отключить все правила в стиле кода, задайте серьезность для категории Style
none
в файле конфигурации.
[*.{cs,vb}]
dotnet_analyzer_diagnostic.category-Style.severity = none
Дополнительные сведения см. в разделе Практическое руководство. Скрытие предупреждений анализа кода.