CA1712: Não prefixar valores de enumeração com um nome de tipo
Property | Valor |
---|---|
ID da regra | CA1712 |
Título | Não prefixar valores de enumeração com um nome de tipo |
Categoria | Nomenclatura |
Correção interruptiva ou sem interrupção | Quebra |
Habilitado por padrão no .NET 9 | 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 de enumeração não são prefixados com o nome do tipo porque espera-se que as informações de tipo sejam fornecidas pelas ferramentas de desenvolvimento.
As convenções de nomenclatura fornecem uma aparência comum para bibliotecas destinadas a 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 de nome de tipo do membro de enumeração.
Quando suprimir avisos
Não suprima um aviso nessa 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
Regras relacionadas
- CA1711: Identificadores não devem ter um sufixo incorreto
- CA1027: Marcar enumerações com FlagsAttribute
- CA2217: Não marcar enumerações com FlagsAttribute
Configurar código para analisar
Use a opção a seguir para configurar em quais partes da base de código essa regra deve ser executada.
Você pode configurar essa opção apenas para essa regra, para todas as regras às quais ela se aplica ou para todas as regras nessa categoria (Nomenclatura) às quais ela se aplica. Para mais informações, confira opções de configuração de regra de qualidade de código.
Gatilho de prefixo de valores de enumeração
Você pode configurar o número de valores de enumeração necessários para disparar a regra. Por exemplo, para especificar que a regra será disparada se um ou mais valores de enumeração começarem com o nome do tipo enumerado, adicione o seguinte par chave-valor a um arquivo .editorconfig em seu projeto:
dotnet_code_quality.CA1712.enum_values_prefix_trigger = AnyEnumValue
Exemplos:
Valor de opção | Resumo |
---|---|
dotnet_code_quality.CA1712.enum_values_prefix_trigger = AnyEnumValue |
A regra será disparada se qualquer um dos valores de enumeração começar com o nome do tipo enumerado. |
dotnet_code_quality.CA1712.enum_values_prefix_trigger = AllEnumValues |
A regra será disparada se todos os valores de enumeração começarem com o nome do tipo enumerado. |
dotnet_code_quality.CA1712.enum_values_prefix_trigger = Heuristic |
A regra será disparada usando a heurística padrão, ou seja, quando pelo menos 75% dos valores de enumeração começam com o nome do tipo enumerado. |