Добавление недостающих вариантов в выражение 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

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

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

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

См. также раздел