Condividi tramite


Aggiungere cast esplicito nel ciclo foreach (IDE0220)

Proprietà Valore
ID regola IDE0220
Titolo Aggiungere un cast esplicito
Categoria Stile
Subcategory Regole del linguaggio (preferenze a livello di espressione)
Lingue applicabili C#
Opzioni dotnet_style_prefer_foreach_explicit_cast_in_source

Panoramica

Questa regola contrassegna l'assenza di un cast esplicito in un foreach ciclo quando il compilatore aggiunge un cast nascosto. Per raccolte generiche o fortemente tipizzate, forzando un cast esplicito quando il compilatore aggiunge un cast nascosto può individuare l'uso di un tipo non corretto nell'istruzione foreach .

Opzioni

Le opzioni specificano il comportamento da applicare alla regola. Per informazioni sulla configurazione delle opzioni, vedere Formato delle opzioni.

dotnet_style_prefer_foreach_explicit_cast_in_source

Proprietà Valore Descrizione
Nome opzione dotnet_style_prefer_foreach_explicit_cast_in_source
Valori delle opzioni always Preferisce cast espliciti nel codice sorgente.
when_strongly_typed Preferisce cast espliciti per raccolte fortemente tipizzate (generiche), ma non per le raccolte legacy, ad esempio ArrayList.
Valore dell'opzione predefinito when_strongly_typed

Esempio

// Code with violations.
var list = new List<object>();
foreach (string item in list) { }

// Fixed code.
var list = new List<object>();
foreach (string item in list.Cast<string>())

Eliminare un avviso

Se si vuole eliminare solo una singola violazione, aggiungere direttive del preprocessore al file di origine per disabilitare e quindi riabilitare la regola.

#pragma warning disable IDE0220
// The code that's violating the rule is on this line.
#pragma warning restore IDE0220

Per disabilitare la regola per un file, una cartella o un progetto, impostarne la gravità none su nel file di configurazione.

[*.{cs,vb}]
dotnet_diagnostic.IDE0220.severity = none

Per disabilitare tutte le regole in stile codice, impostare la gravità per la categoria Stylenone su nel file di configurazione.

[*.{cs,vb}]
dotnet_analyzer_diagnostic.category-Style.severity = none

Per altre informazioni, vedere Come eliminare gli avvisi di analisi del codice.

Vedi anche