CA1712: Non utilizzare nomi di tipo come prefisso nei valori di enumerazione
Proprietà | valore |
---|---|
ID regola | CA1712 |
Title | Non usare nomi di tipo come prefisso nei valori di enumerazione |
Categoria | Denominazione |
La correzione causa un'interruzione o meno | Interruzione |
Abilitato per impostazione predefinita in .NET 9 | No |
Causa
Un'enumerazione contiene un membro il cui nome inizia con il nome del tipo dell'enumerazione.
Descrizione regola
I nomi dei membri di enumerazione non sono preceduti dal nome del tipo perché le informazioni sul tipo devono essere fornite dagli strumenti di sviluppo.
Le convenzioni di denominazione forniscono un aspetto comune per le librerie destinate a Common Language Runtime. Ciò riduce il tempo necessario per apprendere una nuova libreria software e aumenta la fiducia dei clienti che la libreria è stata sviluppata da un utente esperto nello sviluppo di codice gestito.
Come correggere le violazioni
Per correggere una violazione di questa regola, rimuovere il prefisso del nome del tipo dal membro di enumerazione.
Quando eliminare gli avvisi
Non escludere un avviso da questa regola.
Esempio
Nell'esempio seguente viene illustrata un'enumerazione denominata in modo non corretto seguita dalla versione corretta.
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
Regole correlate
- CA1711: Gli identificatori non devono contenere un suffisso non corretto
- CA1027: Contrassegnare le enumerazioni con FlagsAttribute
- CA2217: Non contrassegnare le enumerazioni con FlagsAttribute
Configurare il codice da analizzare
Usare l'opzione seguente per configurare le parti della codebase in cui eseguire questa regola.
È possibile configurare questa opzione solo per questa regola, per tutte le regole a cui si applica o per tutte le regole in questa categoria (denominazione) a cui si applica. Per altre informazioni, vedere Opzioni di configurazione delle regole di qualità del codice.
Trigger di prefisso dei valori enumerazione
È possibile configurare il numero di valori di enumerazione necessari per attivare la regola. Ad esempio, per specificare che la regola viene attivata se uno o più valori di enumerazione iniziano con il nome del tipo di enumerazione, aggiungere la coppia chiave-valore seguente a un file con estensione editorconfig nel progetto:
dotnet_code_quality.CA1712.enum_values_prefix_trigger = AnyEnumValue
Esempi:
Valore opzione | Riepilogo |
---|---|
dotnet_code_quality.CA1712.enum_values_prefix_trigger = AnyEnumValue |
La regola viene attivata se uno dei valori di enumerazione inizia con il nome del tipo di enumerazione. |
dotnet_code_quality.CA1712.enum_values_prefix_trigger = AllEnumValues |
La regola viene attivata se tutti i valori di enumerazione iniziano con il nome del tipo di enumerazione. |
dotnet_code_quality.CA1712.enum_values_prefix_trigger = Heuristic |
La regola viene attivata usando l'euristica predefinita, ovvero quando almeno il 75% dei valori di enumerazione inizia con il nome del tipo di enumerazione. |