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


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

Свойство Ценность
идентификатор правила IDE0083
заголовок Используйте сопоставление шаблонов (операторnot)
категории Стиль
Подкатегория Языковые правила (параметры сопоставления шаблонов)
применимые языки C# 9.0+
Опции csharp_style_prefer_not_pattern

Обзор

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

Опции

Параметры определяют поведение, которое должно обеспечиваться правилом. Сведения о настройке опций см. в разделе «Формат опции».

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

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

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

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

См. также