Nur FlagsAttribute-Enumerationen sollten Pluralnamen aufweisen

Aktualisiert: November 2007

TypeName

OnlyFlagsEnumsShouldHavePluralNames

CheckId

CA1717

Kategorie

Microsoft.Naming

Unterbrechende Änderung

Breaking

Ursache

Der Name einer extern sichtbaren Enumeration endet auf einem Pluralwort, und die Enumeration ist nicht mit dem System.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 für die Common Language Runtime entwickelt wurden, 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.

Behandlung 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

Flags-Enumerationen sollten Pluralnamen aufweisen

Enumerationen mit FlagsAttribut markieren

Enumerationen nicht mit FlagsAttribute markieren

Siehe auch

Referenz

System.FlagsAttribute