CA1708: Gli identificatori non si devono differenziare solo in base alle maiuscole e minuscole
Proprietà | valore |
---|---|
ID regola | CA1708 |
Title | Gli identificatori non si devono differenziare solo in base alle maiuscole e minuscole |
Categoria | Denominazione |
La correzione causa un'interruzione o meno | Interruzione |
Abilitato per impostazione predefinita in .NET 9 | No |
Causa
I nomi di due tipi, membri, parametri o spazi dei nomi completi sono identici quando vengono convertiti in lettere minuscole.
Per impostazione predefinita, questa regola esamina solo tipi, membri e spazi dei nomi visibili esternamente, ma è configurabile.
Descrizione regola
Gli identificatori per spazi dei nomi, tipi, membri e parametri non possono differire solo in base a maiuscole e minuscole poiché ai linguaggi destinati a Common Language Runtime non è richiesta la distinzione tra maiuscole e minuscole. Ad esempio, Visual Basic è un linguaggio ampiamente usato senza distinzione tra maiuscole e minuscole.
Come correggere le violazioni
Selezionare un nome univoco quando viene confrontato con altri identificatori in modo senza distinzione tra maiuscole e minuscole.
Quando eliminare gli avvisi
Non escludere un avviso da questa regola. La libreria potrebbe non essere utilizzabile in tutti i linguaggi disponibili in .NET.
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.
Includere superfici API specifiche
È possibile configurare le parti della codebase in modo da eseguire questa regola in base alla relativa accessibilità impostando l'opzione api_surface. Ad esempio, per specificare che la regola deve essere eseguita solo sulla superficie dell'API non pubblica, aggiungere la coppia chiave-valore seguente a un file con estensione editorconfig nel progetto:
dotnet_code_quality.CAXXXX.api_surface = private, internal
Nota
Sostituire la parte XXXX
di CAXXXX
con l'ID della regola applicabile.
Esempio di violazione
Nell'esempio seguente viene illustrata una violazione di questa regola.
public class Class1
{
protected string someName;
public string SomeName => someName;
}
Nell'esempio seguente viene illustrato un modo per correggere la violazione
public class Class1
{
protected string _someName;
public string SomeName => _someName;
}