CA1708: Gli identificatori non si devono differenziare solo in base alle maiuscole e minuscole

Proprietà valore
ID regola CA1708
Titolo Gli identificatori non si devono differenziare solo in base alle maiuscole e minuscole
Categoria Denominazione
Correzione che causa un'interruzione o un'interruzione Interruzione
Abilitato per impostazione predefinita in .NET 8 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 all'accessibilità. 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

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;
}