Используйте сопоставление шаблонов, чтобы избежать "AS", за которым следует проверка значений NULL (IDE0019)

Свойство Значение
Идентификатор правила IDE0019
Title Используйте сопоставление шаблонов, чтобы избежать as и последующей проверки null
Категория Стиль
Подкатегория Правила языка (параметры сопоставления шаблонов)
Применимые языки C#
Параметры csharp_style_pattern_matching_over_as_with_null_check

Обзор

Это правило стиля касается использования сопоставления шаблонов C# для выражения as, за которым следует проверка null. Это правило похоже на IDE0260, которое помечает использование as выражения, за которым следует член, считываемый через условный оператор null.

Варианты

Связанный параметр для этого правила указывает, следует ли предпочесть соответствие шаблону или выражение с проверкой as null, чтобы определить, имеет ли что-то определенный тип.

Дополнительные сведения о настройке параметров см. в разделе Формат параметра.

csharp_style_pattern_matching_over_as_with_null_check

Этот параметр также настраивает правило IDE0260.

Свойство Значение Описание
Имя параметра csharp_style_pattern_matching_over_as_with_null_check
Значения параметра true Предпочитать сопоставление шаблонов, чтобы определить, имеет ли что-то определенный тип
false Предпочитать as выражения с проверками null, чтобы определить, имеет ли что-то определенный тип
Значение параметра по умолчанию true
// csharp_style_pattern_matching_over_as_with_null_check = true
if (o is string s) {...}

// csharp_style_pattern_matching_over_as_with_null_check = false
var s = o as string;
if (s != null) {...}

Отключение предупреждений

Если вы хотите подавить только одно нарушение, добавьте директивы препроцессора в исходный файл, чтобы отключить и снова включить правило.

#pragma warning disable IDE0019
// The code that's violating the rule is on this line.
#pragma warning restore IDE0019

Чтобы отключить правило для файла, папки или проекта, задайте для его серьезности none значение в файле конфигурации.

[*.{cs,vb}]
dotnet_diagnostic.IDE0019.severity = none

Чтобы отключить все правила в стиле кода, задайте серьезность для категории Stylenone в файле конфигурации.

[*.{cs,vb}]
dotnet_analyzer_diagnostic.category-Style.severity = none

Дополнительные сведения см. в разделе Практическое руководство. Скрытие предупреждений анализа кода.

См. также раздел