Compartir a través de


CA1712: No utilizar prefijos en valores de enumeración con el nombre del tipo

TypeName

DoNotPrefixEnumValuesWithTypeName

Identificador de comprobación

CA1712

Categoría

Microsoft.Naming

Cambio problemático

Problemático

Motivo

Una enumeración contiene un miembro cuyo nombre comienza con el nombre de tipo de la enumeración.

Descripción de la regla

Los nombres de los miembros de la enumeración no llevan el nombre de tipo como prefijo porque se espera que sean herramientas de desarrollo las que proporcionen la información de tipo.

Las convenciones de nomenclatura proporcionan una apariencia común para las bibliotecas destinadas a Common Language Runtime.Esto reduce el tiempo de aprendizaje necesario para la nueva biblioteca de software y aumenta la confianza por parte del cliente en lo que respecta a que la biblioteca fue desarrollada por un especialista en desarrollo de código administrado.

Cómo corregir infracciones

Para corregir una infracción de esta regla, quite el prefijo del nombre de tipo del miembro de la enumeración.

Cuándo suprimir advertencias

No suprima las advertencias de esta regla.

Ejemplo

El ejemplo siguiente muestra una enumeración con nombre incorrecto seguida de la versión corregida.

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

Reglas relacionadas

CA1711: Los identificadores no deberían tener el sufijo incorrecto

CA1027: Marcar enumeraciones con FlagsAttribute

CA2217: No marcar enumeraciones con FlagsAttribute

Vea también

Referencia

Enum