Share via


Lägg till explicit cast in foreach-loop (IDE0220)

Egenskap Värde
Regel-ID IDE0220
Rubrik Lägg till explicit cast
Kategori Format
Underkategori Språkregler (inställningar på uttrycksnivå)
Tillämpliga språk C#
Alternativ dotnet_style_prefer_foreach_explicit_cast_in_source

Översikt

Den här regeln flaggar frånvaron av en explicit gjutning i en foreach loop när kompilatorn lägger till en dold gjutning. För generiska, eller starkt skrivna, samlingar kan tvinga en explicit gjutning när kompilatorn lägger till en dold rollbesättning avslöja användningen av en felaktig typ i -instruktionen foreach .

Alternativ

Alternativ anger det beteende som du vill att regeln ska framtvinga. Information om hur du konfigurerar alternativ finns i Alternativformat.

dotnet_style_prefer_foreach_explicit_cast_in_source

Egenskap Värde Beskrivning
Alternativnamn dotnet_style_prefer_foreach_explicit_cast_in_source
Alternativvärden always Föredra explicita casts i källkoden.
when_strongly_typed Föredra explicita casts för starkt inskrivna (generiska) samlingar men inte för äldre samlingar, till exempel ArrayList.
Standardalternativvärde when_strongly_typed

Exempel

// 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>())

Ignorera en varning

Om du bara vill förhindra en enda överträdelse lägger du till preprocessor-direktiv i källfilen för att inaktivera och återaktiverar sedan regeln.

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

Om du vill inaktivera regeln för en fil, mapp eller ett projekt anger du dess allvarlighetsgrad till none i konfigurationsfilen.

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

Om du vill inaktivera alla regler i kodformat anger du allvarlighetsgraden för kategorin Style till none i konfigurationsfilen.

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

Mer information finns i Så här utelämnar du kodanalysvarningar.

Se även