Поделиться через


Используйте сопоставление с образцом, чтобы избежать использования оператора "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

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

См. также