CA1712: No utilizar prefijos en valores de enumeración con el nombre del tipoCA1712: Do not prefix enum values with type name

TypeNameTypeName DoNotPrefixEnumValuesWithTypeNameDoNotPrefixEnumValuesWithTypeName
Identificador de comprobaciónCheckId CA1712CA1712
CategoríaCategory Microsoft.NamingMicrosoft.Naming
Cambio problemáticoBreaking Change ProblemáticoBreaking

MotivoCause

Una enumeración contiene a un miembro cuyo nombre empieza con el nombre de tipo de la enumeración.An enumeration contains a member whose name starts with the type name of the enumeration.

Descripción de la reglaRule description

Nombres de miembros de enumeración no tienen el prefijo con el nombre de tipo porque la información de tipo se espera que se proporcionan herramientas de desarrollo.Names of enumeration members are not prefixed with the type name because type information is expected to be provided by development tools.

Las convenciones de nomenclatura proporcionan una apariencia común para las bibliotecas destinadas a Common Language Runtime.Naming conventions provide a common look for libraries that target the common language runtime. Esto reduce el tiempo que se requiere para que aprenda una nueva biblioteca de software y aumenta la confianza del cliente que la biblioteca fue desarrollada por alguien que tenga experiencia en desarrollo de código administrado.This reduces the time that is required for to learn a new software library, and increases customer confidence that the library was developed by someone who has expertise in developing managed code.

Cómo corregir infraccionesHow to fix violations

Para corregir una infracción de esta regla, quite el prefijo del nombre de tipo del miembro de enumeración.To fix a violation of this rule, remove the type name prefix from the enumeration member.

Cuándo Suprimir advertenciasWhen to suppress warnings

No suprima las advertencias de esta regla.Do not suppress a warning from this rule.

EjemploExample

El ejemplo siguiente muestra una enumeración con nombre incorrecto seguida de la versión corregida.The following example shows an incorrectly named enumeration followed by the corrected version.

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
   };
}
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

CA1711: Los identificadores no deberían tener el sufijo incorrectoCA1711: Identifiers should not have incorrect suffix

CA1027: Marcar enumeraciones con FlagsAttributeCA1027: Mark enums with FlagsAttribute

CA2217: No marcar enumeraciones con FlagsAttributeCA2217: Do not mark enums with FlagsAttribute

Vea tambiénSee also