Condividi tramite


Aggiungere un cast esplicito nel ciclo foreach (IDE0220)

Proprietà Valore
Regola ID IDE0220
Titolo Aggiungere cast esplicito
categoria Stile
sottocategoria 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 ciclo foreach quando il compilatore aggiunge un cast nascosto. Per le raccolte generiche o fortemente tipizzate, forzare un cast esplicito quando il compilatore aggiungerebbe un cast nascosto può rivelare l'uso di un tipo errato nell'istruzione foreach.

Opzioni

Le opzioni specificano il comportamento che desideri venga applicato dalla regola. Per informazioni sulla configurazione delle opzioni, vedere Formato opzione.

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 tipate (generiche), ma non per le raccolte legacy, ad esempio ArrayList.
valore di 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 desidera 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à su none nel file di configurazione .

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

Per disabilitare tutte le regole di tipo codice, impostare la gravità per la categoria Style su none 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.

Vedere anche