Udostępnij za pośrednictwem


CA1712: Nie należy poprzedzać wartości enum nazwą typu

Właściwości Wartość
Identyfikator reguły CA1712
Tytuł Nie dodawaj przedrostka z nazwą typu do wartości enum
Kategoria Nazewnictwo
Poprawka łamiąca lub nienaruszająca Przełomowe
Domyślnie włączone na platformie .NET 10 Nie.
Zastosowane języki C# i Visual Basic

Przyczyna

Wyliczenie zawiera element członkowski, którego nazwa zaczyna się od nazwy typu wyliczenia.

Opis reguły

Nazwy elementów członkowskich wyliczenia nie są poprzedzone nazwą typu, ponieważ informacje o typie powinny być udostępniane przez narzędzia programistyczne.

Konwencje nazewnictwa zapewniają spójny format dla bibliotek działających w środowisku uruchomieniowym języka wspólnego. Skraca to czas wymagany do nauki nowej biblioteki oprogramowania i zwiększa pewność klienta, że biblioteka została opracowana przez kogoś, kto ma doświadczenie w tworzeniu kodu zarządzanego.

Jak naprawić naruszenia

Aby naprawić naruszenie tej reguły, usuń prefiks nazwy typu z elementu członkowskiego wyliczenia.

Kiedy pomijać ostrzeżenia

Nie pomijaj ostrzeżeń dla tej reguły.

Przykład

W poniższym przykładzie pokazano niepoprawnie nazwane wyliczenie, po którym następuje poprawiona wersja.

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

Konfigurowanie kodu do analizowania

Użyj następującej opcji, aby skonfigurować, które części kodu mają być objęte tą regułą.

Tę opcję można skonfigurować tylko dla tej reguły, dla wszystkich reguł, do których ma ona zastosowanie, lub dla wszystkich reguł w tej kategorii (nazewnictwo), których dotyczy. Aby uzyskać więcej informacji, zobacz Opcje konfiguracji reguły jakości kodu.

Wyzwalacz prefiksu wartości enum

Możesz ustawić liczbę wartości wyliczeniowych potrzebnych do wyzwolenia reguły. Aby na przykład określić, że reguła jest wyzwalana, jeśli przynajmniej jedna z wartości wyliczenia zaczyna się od nazwy typu wyliczenia, dodaj następującą parę klucz-wartość do pliku „.editorconfig” w projekcie.

dotnet_code_quality.CA1712.enum_values_prefix_trigger = AnyEnumValue

Przykłady:

Wartość opcji Podsumowanie
dotnet_code_quality.CA1712.enum_values_prefix_trigger = AnyEnumValue Reguła jest wyzwalana, jeśli którakolwiek z wartości wyliczenia rozpoczyna się od nazwy typu wyliczenia.
dotnet_code_quality.CA1712.enum_values_prefix_trigger = AllEnumValues Reguła jest wyzwalana, jeśli wszystkie wartości wyliczenia zaczynają się od nazwy typu wyliczenia.
dotnet_code_quality.CA1712.enum_values_prefix_trigger = Heuristic Reguła jest wyzwalana przy użyciu domyślnej heurystyki, czyli gdy co najmniej 75% wartości wyliczenia zaczyna się od nazwy typu wyliczenia.

Zobacz też