Compartir a través de


CA1717: Solo las enumeraciones FlagsAttribute deberían tener nombres en plural

Nombre de tipo

OnlyFlagsEnumsShouldHavePluralNames

Identificador de comprobación

CA1717

Categoría

Microsoft.Naming

Cambio problemático

Motivo

El nombre de una enumeración visible externamente termina con una palabra en plural y la enumeración no está marcada con el atributo System.FlagsAttribute.

Descripción de la regla

Las convenciones de nomenclatura dictan que un nombre en plural para una enumeración indica que se pueden especificar varios valores de enumeración simultáneamente.FlagsAttribute indica a los compiladores que la enumeración debe tratarse como un campo de bits que habilita operaciones bit a bit en la enumeración.

Si sólo se puede especificar un valor de enumeración a la vez, el nombre de la enumeración debe ser una palabra en singular.Por ejemplo, una enumeración que define los días de la semana podría usarse en una aplicación en la que se pueden especificar varios días.Esta enumeración debería tener FlagsAttribute y podría denominarse 'Días'.Una enumeración similar que permite especificar sólo un día no tendría el atributo y se podría denominar 'Día'.

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

Cambie el nombre de la enumeración a una palabra en singular o agregue FlagsAttribute.

Cuándo suprimir advertencias

Puede suprimir de forma segura una advertencia de la regla si el nombre termina con una palabra en singular.

Reglas relacionadas

CA1714: Las enumeraciones Flags deberían tener nombres en plural

CA1027: Marcar enumeraciones con FlagsAttribute

CA2217: No marcar enumeraciones con FlagsAttribute

Vea también

Referencia

System.FlagsAttribute

Conceptos

Enumeration Design