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.