Expliciete cast toevoegen in foreach-lus (IDE0220)
Eigenschap | Waarde |
---|---|
Regel-id | IDE0220 |
Titel | Expliciete cast toevoegen |
Categorie | Stijl |
Subcategorie | Taalregels (voorkeuren op expressieniveau) |
Toepasselijke talen | C# |
Opties | dotnet_style_prefer_foreach_explicit_cast_in_source |
Overzicht
Deze regel markeert de afwezigheid van een expliciete cast in een foreach
lus wanneer de compiler een verborgen cast toevoegt. Voor algemene of sterk getypte verzamelingen kan het afdwingen van een expliciete cast wanneer de compiler een verborgen cast toevoegt, het gebruik van een onjuist type in de instructie aan het foreach
licht brengen.
Opties
Met opties wordt het gedrag opgegeven dat door de regel moet worden afgedwongen. Zie Optie-indeling voor meer informatie over het configureren van opties.
dotnet_style_prefer_foreach_explicit_cast_in_source
Eigenschap | Waarde | Beschrijving |
---|---|---|
Naam van optie | dotnet_style_prefer_foreach_explicit_cast_in_source | |
Optiewaarden | always |
Geef de voorkeur aan expliciete casts in broncode. |
when_strongly_typed |
Geef de voorkeur aan expliciete casts voor sterk getypte (algemene) verzamelingen, maar niet voor verouderde verzamelingen, zoals ArrayList. | |
Waarde van standaardoptie | when_strongly_typed |
Voorbeeld
// 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>())
Een waarschuwing onderdrukken
Als u slechts één schending wilt onderdrukken, voegt u preprocessor-instructies toe aan uw bronbestand om de regel uit te schakelen en vervolgens opnieuw in te schakelen.
#pragma warning disable IDE0220
// The code that's violating the rule is on this line.
#pragma warning restore IDE0220
Als u de regel voor een bestand, map of project wilt uitschakelen, stelt u de ernst in op none
in het configuratiebestand.
[*.{cs,vb}]
dotnet_diagnostic.IDE0220.severity = none
Als u alle codestijlregels wilt uitschakelen, stelt u de ernst voor de categorie Style
in op none
in het configuratiebestand.
[*.{cs,vb}]
dotnet_analyzer_diagnostic.category-Style.severity = none
Zie Waarschuwingen voor codeanalyse onderdrukken voor meer informatie.