CA1714 : Les énumérations d'indicateurs doivent avoir des noms au pluriel
TypeName |
FlagsEnumsShouldHavePluralNames |
CheckId |
CA1714 |
Catégorie |
Microsoft.Naming |
Modification avec rupture |
Oui |
Cause
Une énumération publique a le System.FlagsAttribute et son nom ne termine pas par "s".
Description de la règle
Les types marqués avec FlagsAttribute ont des noms au pluriel car l'attribut indique que plusieurs valeurs peuvent être spécifiées. À 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 ainsi la durée de l'apprentissage requis par les nouvelles bibliothèques 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 pluriel ou supprimez l'attribut FlagsAttribute si plusieurs valeurs d'énumération ne doivent pas être spécifiées simultanément.
Quand supprimer les avertissements
Il est possible de supprimer sans risque une violation si le nom est un mot pluriel mais qu'il ne termine pas par "s". À titre d'exemple, si l'énumération des plusieurs jours décrit précédemment a été nommée "JoursDeLaSemaine", la logique de la règle est enfreinte mais pas son intention. De telles violations doivent être supprimées.
Règles connexes
CA1027 : Marquer les enums avec FlagsAttribute
CA2217 : Ne pas marquer les enums avec FlagsAttribute