CA1712: No utilizar prefijos en valores de enumeración con el nombre del tipo
Propiedad | Value |
---|---|
Identificador de la regla | CA1712 |
Título | No utilizar prefijos en valores de enumeración con el nombre del tipo |
Categoría | Nomenclatura |
La corrección es problemática o no problemática | Problemático |
Habilitado de forma predeterminada en .NET 8 | No |
Causa
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 las herramientas de desarrollo 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 necesario para aprender una nueva biblioteca de software y aumenta la confianza del cliente en que la biblioteca la ha desarrollado alguien con experiencia 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 enumeración.
Cuándo suprimir las advertencias
No suprima las advertencias de esta regla.
Ejemplo
En el ejemplo siguiente se muestra una enumeración con un nombre incorrecto seguido de la versión corregida.
public enum DigitalImageMode
{
DigitalImageModeBitmap = 0,
DigitalImageModeGrayscale = 1,
DigitalImageModeIndexed = 2,
DigitalImageModeRGB = 3
}
public enum DigitalImageMode2
{
Bitmap = 0,
Grayscale = 1,
Indexed = 2,
RGB = 3
}
Imports System
Namespace ca1712
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
Reglas relacionadas
- CA1711: Los identificadores no deben tener un sufijo incorrecto
- CA1027: Marcar enumeraciones con FlagsAttribute
- CA2217: No marcar enumeraciones con FlagsAttribute
Configuración del código para analizar
Use la opción siguiente para configurar en qué partes del código base ejecutar esta regla.
Puede configurar esta opción solo para esta regla, para todas las reglas a las que se aplica o para todas las reglas de esta categoría (Nomenclatura) a las que se aplica. Para más información, vea Opciones de configuración de reglas de calidad de código.
Desencadenador de prefijo de valores de enumeración
Puede configurar el número de valores de enumeración necesarios para desencadenar la regla. Por ejemplo, para especificar que la regla se desencadene si uno o varios valores de enumeración empiezan con el nombre de tipo de enumeración, agregue el siguiente par clave-valor a un archivo .editorconfig en el proyecto:
dotnet_code_quality.CA1712.enum_values_prefix_trigger = AnyEnumValue
Ejemplos:
Valor de la opción | Resumen |
---|---|
dotnet_code_quality.CA1712.enum_values_prefix_trigger = AnyEnumValue |
La regla se desencadena si alguno de los valores de enumeración empieza por el nombre del tipo de enumeración. |
dotnet_code_quality.CA1712.enum_values_prefix_trigger = AllEnumValues |
La regla se desencadena si todos los valores de enumeración empieza por el nombre del tipo de enumeración. |
dotnet_code_quality.CA1712.enum_values_prefix_trigger = Heuristic |
La regla se desencadena con la heurística predeterminada, es decir, cuando al menos el 75 % de los valores de enumeración empieza por el nombre del tipo de enumeración. |