Используйте сопоставление шаблонов, чтобы избежать "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
Чтобы отключить все правила в стиле кода, задайте серьезность для категории Style
none
в файле конфигурации.
[*.{cs,vb}]
dotnet_analyzer_diagnostic.category-Style.severity = none
Дополнительные сведения см. в разделе Практическое руководство. Скрытие предупреждений анализа кода.
См. также раздел
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по