Использование сопоставления шаблонов (оператор not) (IDE0083)

Свойство Значение
Идентификатор правила IDE0083
Заголовок Использование сопоставления шаблонов (оператор not)
Категория Стиль
Подкатегории Правила языка (параметры сопоставления шаблонов)
Применимые языки C# 9.0+
Options (Параметры) csharp_style_prefer_not_pattern

Обзор

Это правило стиля касается использования шаблона C# 9.0not, когда это возможно.

Параметры

Параметры указывают поведение, которое требуется применить правило. Сведения о настройке параметров см . в разделе "Формат параметров".

csharp_style_prefer_not_pattern

Свойство значение Описание
Имя параметра csharp_style_prefer_not_pattern
Значения параметра true Предпочитать использовать not шаблон, когда это возможно
false Предпочитать не использовать not шаблон.
Значение параметра по умолчанию true

Примечание.

Если параметр имеет значение false, анализатор не помечает использование шаблона not. Однако любой созданный код не будет использовать шаблон not. Если параметр имеет значение true, код, который не использует шаблон not, помечается, а любой созданный код использует шаблон not там, где это применимо.

В следующих примерах показано, как будет создаваться код с помощью функций создания кода, если для параметра задано значение true или false.

// csharp_style_prefer_not_pattern = true
var y = o is not C c;

// csharp_style_prefer_not_pattern = false
var y = !(o is C c);

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

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

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

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

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

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

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

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

См. также