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
Powiązane reguły
- CA1711: Identyfikatory nie powinny mieć niepoprawnego sufiksu
- CA1027: Oznacz typy wyliczeniowe atrybutem Flags
- CA2217: Nie oznaczaj wyliczeń za pomocą atrybutu FlagsAttribute
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. |