CA1712: Não os valores de enum com nome de tipo de prefixo
TypeName |
DoNotPrefixEnumValuesWithTypeName |
CheckId |
CA1712 |
<strong>Categoria</strong> |
Microsoft.Naming |
Alteração significativa |
Quebrando |
Causa
Uma enumeração contém um membro cujo nome começa com o nome do tipo da enumeração.
Descrição da regra
Nomes de membros de enumeração não são prefixados com o nome do tipo, porque o tipo de informações são esperadas a serem fornecidos pelas ferramentas de desenvolvimento.
Convenções de nomenclatura fornecem um aspecto familiar a bibliotecas que se destinam ao uso com a common language runtime. Isso reduz o tempo que é necessário para aprender uma nova biblioteca de software e aumenta a confiança do cliente que a biblioteca foi desenvolvida por alguém que tenha experiência em desenvolvimento de código gerenciado.
Como corrigir violações
Para corrigir uma violação desta regra, remova o prefixo do nome de tipo do membro de enumeração.
Quando suprimir avisos
Não suprimir um aviso da regra.
Exemplo
O exemplo a seguir mostra uma enumeração incorretamente nomeada seguida a versão corrigida.
Imports System
Namespace NamingLibrary
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
using System;
namespace NamingLibrary
{
public enum DigitalImageMode
{
DigitalImageModeBitmap = 0,
DigitalImageModeGrayscale = 1,
DigitalImageModeIndexed = 2,
DigitalImageModeRGB = 3
}
public enum DigitalImageMode2
{
Bitmap = 0,
Grayscale = 1,
Indexed = 2,
RGB = 3
}
}
using namespace System;
namespace NamingLibrary
{
public enum class DigitalImageMode
{
DigitalImageModeBitmap = 0,
DigitalImageModeGrayscale = 1,
DigitalImageModeIndexed = 2,
DigitalImageModeRGB = 3
};
public enum class DigitalImageMode2
{
Bitmap = 0,
Grayscale = 1,
Indexed = 2,
RGB = 3
};
}
Regras relacionadas
CA1711: Identificadores não devem ter o sufixo incorreto
CA1027: Marcar enums com FlagsAttribute
CA2217: Não marque enums com FlagsAttribute