CA1717 : Seuls les noms des enums FlagsAttribute doivent être au pluriel
TypeName |
OnlyFlagsEnumsShouldHavePluralNames |
CheckId |
CA1717 |
Catégorie |
Microsoft.Naming |
Modification avec rupture |
Oui |
Cause
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 l'attribut System.FlagsAttribute.
Description de la règle
Selon les conventions d'attribution d'un nom, un nom au pluriel pour une énumération indique que plusieurs valeurs de l'énumération peuvent être spécifiées simultanément. Le FlagsAttribute indique aux compilateurs que l'énumération doit être traitée comme un champ de bits qui autorise des opérations de bits sur l'énumération.
Si seulement 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. À titre d'exemple, une énumération qui définit les jours de la semaine peut être prévue pour une utilisation dans une application où vous pouvez spécifier plusieurs jours. Cette énumération doit avoir l'attribut FlagsAttribute et peut être appelée "jours". Une énumération semblable qui permet uniquement à un jour d'être spécifié n'a pas d'attribut et peut être appelée "jour".
Les conventions d'affectation des noms confèrent un aspect commun aux bibliothèques qui ciblent le Common Language Runtime. Elles réduisent 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é.
Comment corriger les violations
Faites du nom de l'énumération un mot au singulier ou ajoutez le FlagsAttribute.
Quand supprimer les avertissements
Il est possible de supprimer sans risque un avertissement de la règle si le nom se termine par un mot au singulier.
Règles connexes
CA1714 : Les énumérations d'indicateurs doivent avoir des noms au pluriel
CA1027 : Marquer les enums avec FlagsAttribute
CA2217 : Ne pas marquer les enums avec FlagsAttribute