Compartilhar via


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 as informações de tipo 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

Consulte também

Referência

System.Enum