CA1717 : Seuls les noms des enums FlagsAttribute doivent être au plurielCA1717: Only FlagsAttribute enums should have plural names

TypeNameTypeName OnlyFlagsEnumsShouldHavePluralNamesOnlyFlagsEnumsShouldHavePluralNames
CheckIdCheckId CA1717CA1717
CategoryCategory Microsoft.NamingMicrosoft.Naming
Modification avec ruptureBreaking Change RuptureBreaking

CauseCause

Le nom d’une énumération extérieurement visible se termine par un mot au pluriel et l’énumération n’est pas marquée avec le System.FlagsAttribute attribut.The name of an externally visible enumeration ends in a plural word and the enumeration is not marked with the System.FlagsAttribute attribute.

Description de la règleRule Description

Conventions d’affectation de noms exigent un nom au pluriel pour une énumération indique que plusieurs valeurs de l’énumération peuvent être spécifiées simultanément.Naming conventions dictate that a plural name for an enumeration indicates that more than one value of the enumeration can be specified simultaneously. La FlagsAttribute indique aux compilateurs que l’énumération doit être traitée comme un champ de bits qui autorise des opérations au niveau du bit dans l’énumération.The FlagsAttribute tells compilers that the enumeration should be treated as a bit field that enables bitwise operations on the enumeration.

Si uniquement une valeur d’une énumération peut être spécifiée à la fois, le nom de l’énumération doit être un mot au singulier.If only one value of an enumeration can be specified at a time, the name of the enumeration should be a singular word. Par exemple, une énumération qui définit les jours de la semaine peut être conçue pour une utilisation dans une application où vous pouvez spécifier plusieurs jours.For example, an enumeration that defines the days of the week might be intended for use in an application where you can specify multiple days. Cette énumération doit avoir le FlagsAttribute et peut être appelée 'Jours'.This enumeration should have the FlagsAttribute and could be called 'Days'. Une énumération semblable qui permet uniquement à un jour d’être spécifié n’aurait pas l’attribut et peut être appelée « Day ».A similar enumeration that allows only a single day to be specified would not have the attribute, and could be called 'Day'.

Conventions d’affectation de noms fournissent une apparence commune pour les bibliothèques qui ciblent le common language runtime.Naming conventions provide a common look for libraries that target the common language runtime. Cela réduit le temps nécessaire pour apprendre une nouvelle bibliothèque de logiciels et confirment au client que la bibliothèque a été développée par une personne compétente en matière de développement de code managé.This reduces the time that is required to learn a new software library, and increases customer confidence that the library was developed by someone who has expertise in developing managed code.

Comment corriger les violationsHow to Fix Violations

Vérifiez le nom de l’énumération un mot au singulier ou ajoutez le FlagsAttribute.Make the name of the enumeration a singular word or add the FlagsAttribute.

Quand supprimer les avertissementsWhen to Suppress Warnings

Il est possible de supprimer un avertissement à partir de la règle si le nom se termine par un mot au singulier.It is safe to suppress a warning from the rule if the name ends in a singular word.

CA1714 : Les énumérations d’indicateurs doivent avoir des noms au plurielCA1714: Flags enums should have plural names

CA1027 : Marquez les énumérations avec FlagsAttributeCA1027: Mark enums with FlagsAttribute

CA2217 : Ne marquez pas les énumérations avec FlagsAttributeCA2217: Do not mark enums with FlagsAttribute

Voir aussiSee Also

System.FlagsAttribute
Conception d’énumérationsEnum Design