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 prefiksu z nazwą typu do wartości wyliczeniowych
Kategoria Nazewnictwo
Poprawka powodująca niezgodność lub niezgodność Kluczowa
Domyślnie włączone na platformie .NET 9 Nie.

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ą wspólny wygląd bibliotek przeznaczonych dla środowiska uruchomieniowego 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 nazwaną wyliczenie, po której 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 bazy kodu mają być uruchamiane w tej regule.

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 wyliczenia

Możesz skonfigurować liczbę wartości wyliczenia wymaganych do wyzwolenia reguły. Aby na przykład określić, że reguła jest wyzwalana, jeśli co najmniej jedna wartość 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ż