CA1712: Keine Typnamen als Präfixe für Enumerationswerte verwenden.
Eigenschaft | Wert |
---|---|
Regel-ID | CA1712 |
Titel | Keine Typnamen als Präfixe für Enumerationswerte verwenden. |
Kategorie | Benennung |
Fix führt oder führt nicht zur Unterbrechung | Breaking |
Standardmäßig in .NET 8 aktiviert | Nein |
Ursache
Eine Enumeration enthält einen Member, dessen Name mit dem Typnamen der Enumeration beginnt.
Regelbeschreibung
Den Namen von Enumerationsmembern wird der Typname nicht als Präfix vorangestellt, da die Typinformationen von den Entwicklungswerkzeugen bereitgestellt werden sollten.
Durch Benennungskonventionen erhalten Bibliotheken, die auf die Common Language Runtime abzielen, ein einheitliches Erscheinungsbild. Dadurch wird der Zeitaufwand für die Einarbeitung in 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
Um einen Verstoß gegen diese Regel zu beheben, entfernen Sie das Präfix des Typnamens aus dem Enumerationsmember.
Wann sollten Warnungen unterdrückt werden?
Unterdrücken Sie keine Warnung dieser Regel.
Beispiel
Das folgende Beispiel zeigt eine falsch benannte Enumeration, gefolgt von der korrigierten Version.
public enum DigitalImageMode
{
DigitalImageModeBitmap = 0,
DigitalImageModeGrayscale = 1,
DigitalImageModeIndexed = 2,
DigitalImageModeRGB = 3
}
public enum DigitalImageMode2
{
Bitmap = 0,
Grayscale = 1,
Indexed = 2,
RGB = 3
}
Imports System
Namespace ca1712
Enum DigitalImageMode
DigitalImageModeBitmap = 0
DigitalImageModeGrayscale = 1
DigitalImageModeIndexed = 2
DigitalImageModeRGB = 3
End Enum
Enum DigitalImageMode2
Bitmap = 0
Grayscale = 1
Indexed = 2
RGB = 3
End Enum
End Namespace
Ähnliche Regeln
- CA1711: Bezeichner sollten kein falsches Suffix aufweisen.
- CA1027: Enumerationen mit FlagsAttribute markieren.
- CA2217: Enumerationen nicht mit FlagsAttribute markieren.
Konfigurieren des zu analysierenden Codes
Mithilfe der folgenden Option können Sie konfigurieren, für welche Teile Ihrer Codebasis diese Regel ausgeführt werden soll.
Sie können diese Option nur für diese Regel, für alle zutreffenden Regeln oder für alle zutreffenden Regeln in dieser Kategorie (Benennung) konfigurieren. Weitere Informationen finden Sie unter Konfigurationsoptionen für die Codequalitätsregel.
Auslösepräfix für Enumerationswerte
Sie können die Anzahl von Enumerationswerten konfigurieren, die erforderlich sind, um die Regel zu initiieren. Um z. B. anzugeben, dass die Regel ausgelöst wird, wenn mindestens ein Enumerationswert mit dem Enumerationstypnamen beginnt, fügen Sie das folgende Schlüssel-Wert-Paar in eine editorconfig-Datei in Ihrem Projekt ein:
dotnet_code_quality.CA1712.enum_values_prefix_trigger = AnyEnumValue
Beispiele:
Optionswert | Zusammenfassung |
---|---|
dotnet_code_quality.CA1712.enum_values_prefix_trigger = AnyEnumValue |
Die Regel wird ausgelöst, wenn irgendeiner der Enumerationswerte mit dem Enumerationstypnamen beginnt. |
dotnet_code_quality.CA1712.enum_values_prefix_trigger = AllEnumValues |
Die Regel wird ausgelöst, wenn alle Enumerationswerte mit dem Enumerationstypnamen beginnen. |
dotnet_code_quality.CA1712.enum_values_prefix_trigger = Heuristic |
Die Regel wird mit der Standard-Heuristik ausgelöst, d. h. wenn mindestens 75% der Enumerationswerte mit dem Enumerationstypnamen beginnen. |