Compartilhar via


CA1712: não use valores enum como prefixo com o nome do tipo

TypeName

DoNotPrefixEnumValuesWithTypeName

CheckId

CA1712

Categoria

Microsoft.Naming

Alteração Significativa

Quebra

Causa

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

Descrição da Regra

Os nomes dos membros da enumeração não são prefixados com o nome do tipo como as informações de tipo deve ser fornecida por ferramentas de desenvolvimento.

Convenções de nomenclatura dão uma aparência comum para bibliotecas que tem como foco o common language runtime.Isso reduz o tempo que é necessário para obter uma nova biblioteca de software, e aumenta a confiança da biblioteca cliente que esteve desenvolvida por alguém que tiver experiência em código gerenciado desenvolvendo.

Como Corrigir Violações

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

Quando Suprimir Alertas

Não elimine um alerta desta regra.

Exemplo

O exemplo a seguir mostra uma enumeração incorretamente denominada seguida pela 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: os identificadores não devem ter sufixo incorreto

CA1027: marcar enums com FlagsAttribute

CA2217: não marcar enums com FlagsAttribute

Consulte também

Referência

Enum