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

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.

Siehe auch