Compartir a través de


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

Nombre de tipo

DoNotPrefixEnumValuesWithTypeName

Identificador de comprobación

CA1712

Categoría

Microsoft.Naming

Cambio 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 a las bibliotecas orientadas 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

System.Enum