Freigeben über


CA1714: Flags-Enumerationen sollten Pluralnamen aufweisen

TypeName

FlagsEnumsShouldHavePluralNames

CheckId

CA1714

Kategorie

Microsoft.Naming

Unterbrechende Änderung

Breaking

Ursache

Eine öffentliche Enumeration verfügt über System.FlagsAttribute, und der Name endet nicht in der Pluralform.

Regelbeschreibung

Die Namen von mit FlagsAttribute markierten Typen stehen im Plural, da das Attribut angibt, dass mehr als ein Wert festgelegt werden kann. 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

Benennen Sie die Enumeration mit der Pluralform, oder entfernen Sie das FlagsAttribute-Attribut, wenn es nicht möglich sein soll, mehrere Enumerationswerte gleichzeitig anzugeben.

Wann sollten Warnungen unterdrückt werden?

Ein Verstoß gegen diese Regel kann gefahrlos unterdrückt werden, wenn der Name im Plural angegeben ist, jedoch keine typische Pluralendung aufweist. Wenn die zuvor beschriebene Wochentage-Enumeration beispielsweise die Bezeichnung 'DaysOfTheWeek' hätte, würde zwar gegen die Regellogik verstoßen, nicht aber gegen ihre Absicht. Solche Verstöße sollten unterdrückt werden.

Verwandte Regeln

CA1027: Enumerationen mit FlagsAttribute markieren

CA2217: Enumerationen nicht mit FlagsAttribute markieren

Siehe auch

Referenz

System.FlagsAttribute

Konzepte

Enumerationsentwurf