CA1717: Nur FlagsAttribute-Enumerationen sollten Pluralnamen aufweisen

TypeName

OnlyFlagsEnumsShouldHavePluralNames

CheckId

CA1717

Kategorie (Category)

Microsoft.Naming

Unterbrechende Änderung

Breaking

Ursache

Der Name einer extern sichtbaren Enumeration endet auf einem Pluralwort, und die Enumeration ist nicht mit dem FlagsAttribute-Attribut markiert.

Regelbeschreibung

Gemäß den Benennungskonventionen gibt ein Pluralname für eine Enumeration an, dass für die Enumeration mehrere Werte gleichzeitig angegeben werden können.Durch FlagsAttribute werden Compiler angewiesen, die Enumeration als Bitfeld zu behandeln, das bitweise Operationen für die Enumeration zulässt.

Wenn jeweils nur ein Wert einer Enumeration angegeben werden kann, sollte der Enumerationsname im Singular stehen.Beispiel: Eine Enumeration, mit der die Wochentage angegeben werden, ist für die Verwendung in einer Anwendung konzipiert, in der mehrere Tage gleichzeitig festgelegt werden können.Diese Enumeration sollte über FlagsAttribute verfügen und könnte 'Days' genannt werden.Eine ähnliche Enumeration, die jeweils nur die Angabe eines Tages zulässt, verfügt nicht über dieses Attribut und könnte 'Day' heißen.

Durch Benennungskonventionen erhalten Bibliotheken, die auf die Common Language Runtime abzielen, ein einheitliches Erscheinungsbild.Dadurch wird der Lernaufwand für neue Softwarebibliotheken verringert. Zudem wird das Kundenvertrauen dahingehend gestärkt, dass die Bibliothek von einem erfahrenen Entwickler für verwalteten Code erstellt wurde.

Behandeln von Verstößen

Ändern Sie den Namen der Enumeration in die Singularform, oder fügen Sie FlagsAttribute hinzu.

Wann sollten Warnungen unterdrückt werden?

Eine Warnung dieser Regel kann gefahrlos unterdrückt werden, wenn der Name auf der Singularform endet.

Verwandte Regeln

CA1714: Flags-Enumerationen sollten Pluralnamen aufweisen

CA1027: Enumerationen mit FlagsAttribute markieren

CA2217: Enumerationen nicht mit FlagsAttribute markieren

Siehe auch

Referenz

FlagsAttribute

Weitere Ressourcen

Enumeration Design