Adicionar casos ausentes para a expressão switch (IDE0072)

Propriedade Valor
ID da regra IDE0072
Título Adicionar casos ausentes para a expressão switch
Categoria Estilo
Subcategoria Regras de linguagem (preferências no nível de expressão)
Linguagens aplicáveis C# 8.0+

Visão geral

Essa regra diz respeito à especificação de todos os casos ausentes para uma expressão switch. Uma expressão switch é considerada incompleta com casos ausentes nos seguintes cenários:

  • Quando uma expressão switch de enumeração sem casos para um ou mais membros de enumeração.
  • Quando o caso de fall-through _ está faltando.

Opções

Essa regra não tem opções de estilo de código associadas.

Exemplo

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,
        };
    }
}

Suprimir um aviso

Se você quiser suprimir apenas uma violação, adicione diretivas de pré-processador ao arquivo de origem para desabilitar e, em seguida, reabilite a regra.

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

Para desabilitar a regra em um arquivo, uma pasta ou um projeto, defina a severidade como none no arquivo de configuração.

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

Para desabilitar todas as regras de estilo de código, defina a severidade da categoria Style como none no arquivo de configuração.

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

Para obter mais informações, confira Como suprimir avisos de análise de código.

Confira também