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 Style
none
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.