Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
| Eigenschaft | Wert |
|---|---|
| Regel-ID | CA1712 |
| Titel | Verwenden Sie nicht den Typnamen als Präfix für Enumerationswerte. |
| Kategorie | Benennung |
| Fix führt zu Unterbrechungen oder bleibt funktionsfähig | Eilmeldung |
| Standardmäßig in .NET 10 aktiviert | Nein |
| Anwendbare Sprachen | C# und Visual Basic |
Ursache
Eine Enumeration enthält einen Member, dessen Name mit dem Typnamen der Enumeration beginnt.
Regelbeschreibung
Die Namen der Enumerationsmitglieder werden nicht mit dem Typnamen als Präfix versehen, 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.
So beheben Sie Verstöße
Um einen Verstoß gegen diese Regel zu beheben, entfernen Sie das Typname-Präfix vom Enumerationsmitglied.
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 dem Flag-Attribut markieren.
- CA2217: Enums 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. |