Condividi tramite


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