Используйте сопоставление с образцом, чтобы избежать использования оператора "as" перед проверкой на null (IDE0019)
Свойство | Ценность |
---|---|
идентификатор правила | IDE0019 |
Заголовок | Используйте сопоставление шаблонов, чтобы избежать as перед проверкой null . |
категория | Стиль |
подкатегория | Языковые правила (параметры сопоставления шаблонов) |
применимые языки | C# |
Параметры | csharp_style_pattern_matching_over_as_with_null_check |
Обзор
Это правило стиля касается использования шаблона C# по выражению as
, за которым следует проверка null
. Это правило похоже на IDE0260, которое помечает использование выражения as
, за которым следует член, считываемый через оператор null-условный.
Параметры
Связанный параметр для этого правила указывает, следует ли предпочесть сопоставление шаблонов или выражение as
с проверкой null, чтобы определить, является ли что-то определенным типом.
Дополнительные сведения о настройке параметров см. в разделе Формат параметра.
csharp_стиль_использования_паттерн-матчинга_над_as_с_проверкой_на_null
Этот параметр также настраивает правило IDE0260.
Свойство | Ценность | Описание |
---|---|---|
имя опции | стиль_использования_сопоставления_шаблонов_вместо_as_с_проверкой_на_null | |
значения опций | 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
Дополнительные сведения см. в статье Подавление предупреждений анализа кода.
См. также
- Использование сопоставления шаблонов (IDE0078 и IDE0260)
- Сопоставление шаблонов в C#
- Правила языка стилевого кодирования
- справочник по правилам стиля кода