Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
| 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
Powiązane reguły
- CA1711: Identyfikatory nie powinny mieć niepoprawnego sufiksu
- CA1027: Oznacz typy wyliczeniowe atrybutem FlagsAttribute
- CA2217: Nie oznaczaj wyliczeń za pomocą atrybutu FlagsAttribute
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. |