Добавление недостающих вариантов в выражение switch (IDE0072)
Свойство | Значение |
---|---|
Идентификатор правила | IDE0072 |
Title | Добавление недостающих вариантов в выражение switch |
Категория | Стиль |
Подкатегория | Правила языка (настройки уровня выражения) |
Применимые языки | C# 8.0+ |
Обзор
Это правило касается указания всех отсутствующих вариантов для выражения switch. Выражение switch считается неполным, с отсутствующими вариантами, в следующих сценариях:
- Если в выражении переключателя перечисления отсутствуют случаи для одного или нескольких членов перечисления.
- Если пропадающий случай
_
отсутствует.
Варианты
Это правило не имеет связанных параметров стиля кода.
Пример
enum E
{
A,
B
}
class C
{
// Code with violations
int M(E e)
{
// IDE0072: Add missing cases
return e switch
{
E.A => 0,
_ => -1,
};
}
// Fixed code
int M(E e)
{
return e switch
{
E.A => 0,
E.B => 1,
_ => -1,
};
}
}
Отключение предупреждений
Если вы хотите отключить только одно нарушение, добавьте директивы препроцессора в исходный файл, чтобы отключить и снова включить правило.
#pragma warning disable IDE0072
// The code that's violating the rule is on this line.
#pragma warning restore IDE0072
Чтобы отключить правило для файла, папки или проекта, присвойте ей значение серьезности none
в файле конфигурации.
[*.{cs,vb}]
dotnet_diagnostic.IDE0072.severity = none
Чтобы отключить все правила в стиле кода, задайте серьезность для категории Style
none
в файле конфигурации.
[*.{cs,vb}]
dotnet_analyzer_diagnostic.category-Style.severity = none
Дополнительные сведения см. в разделе Практическое руководство. Скрытие предупреждений анализа кода.