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 |
Sí |
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