Partilhar via


CA1712: Não prefixar valores de enum com nome de tipo

Propriedade valor
ID da regra CA1712
Cargo Não prefixar valores de enum com o nome do tipo
Categoria Atribuição de nomes
A correção está quebrando ou não quebrando Quebrando
Habilitado por padrão no .NET 8 Não

Causa

Uma enumeração contém um membro cujo nome começa com o nome do tipo da enumeração.

Descrição da regra

Os nomes dos membros da enumeração não são prefixados com o nome do tipo porque as informações de tipo devem ser fornecidas pelas ferramentas de desenvolvimento.

As convenções de nomenclatura fornecem uma aparência comum para bibliotecas que visam o Common Language Runtime. Isso reduz o tempo necessário para aprender uma nova biblioteca de software e aumenta a confiança do cliente de que a biblioteca foi desenvolvida por alguém com experiência no desenvolvimento de código gerenciado.

Como corrigir violações

Para corrigir uma violação dessa regra, remova o prefixo do nome do tipo do membro da enumeração.

Quando suprimir avisos

Não suprima um aviso desta regra.

Exemplo

O exemplo a seguir mostra uma enumeração nomeada incorretamente seguida pela versão corrigida.

public enum DigitalImageMode
{
    DigitalImageModeBitmap = 0,
    DigitalImageModeGrayscale = 1,
    DigitalImageModeIndexed = 2,
    DigitalImageModeRGB = 3
}

public enum DigitalImageMode2
{
    Bitmap = 0,
    Grayscale = 1,
    Indexed = 2,
    RGB = 3
}
Imports System

Namespace ca1712

    Enum DigitalImageMode

        DigitalImageModeBitmap = 0
        DigitalImageModeGrayscale = 1
        DigitalImageModeIndexed = 2
        DigitalImageModeRGB = 3

    End Enum

    Enum DigitalImageMode2

        Bitmap = 0
        Grayscale = 1
        Indexed = 2
        RGB = 3

    End Enum

End Namespace

Configurar código para análise

Use a opção a seguir para configurar em quais partes da sua base de código executar essa regra.

Você pode configurar essa opção apenas para esta regra, para todas as regras às quais ela se aplica ou para todas as regras nesta categoria (Nomenclatura) às quais ela se aplica. Para obter mais informações, consulte Opções de configuração da regra de qualidade de código.

Gatilho de prefixo de valores de enum

Você pode configurar o número de valores de enumeração necessários para acionar a regra. Por exemplo, para especificar que a regra será acionada se um ou mais valores de enum começarem com o nome do tipo de enum, adicione o seguinte par chave-valor a um arquivo .editorconfig em seu projeto:

dotnet_code_quality.CA1712.enum_values_prefix_trigger = AnyEnumValue

Exemplos:

Valor da opção Resumo
dotnet_code_quality.CA1712.enum_values_prefix_trigger = AnyEnumValue A regra é acionada se qualquer um dos valores de enum começar com o nome do tipo de enum.
dotnet_code_quality.CA1712.enum_values_prefix_trigger = AllEnumValues A regra será acionada se todos os valores de enum começarem com o nome do tipo de enum.
dotnet_code_quality.CA1712.enum_values_prefix_trigger = Heuristic A regra é acionada usando a heurística padrão, ou seja, quando pelo menos 75% dos valores de enum começam com o nome do tipo de eno.

Consulte também