Přidání explicitního přetypování ve smyčce foreach (IDE0220)
Vlastnost | Hodnota |
---|---|
ID pravidla | IDE0220 |
název | Přidání explicitního přetypování |
Kategorie | Styl |
podkategorie | Jazyková pravidla (předvolby na úrovni výrazu) |
příslušné jazyky | C# |
Možnosti | dotnet_style_prefer_foreach_explicit_cast_in_source |
Přehled
Toto pravidlo označí nepřítomnost explicitního přetypování ve smyčce foreach
, když kompilátor přidá skryté přetypování. U obecných nebo silně typovaných kolekcí může použití explicitního přetypování, i když by kompilátor přidal skryté přetypování, odhalit použití nesprávného typu v příkazu foreach
.
Možnosti
Možnosti určují chování, které má pravidlo vynutit. Informace o konfiguraci možností naleznete v tématu Formát možnosti.
dotnet_style_prefer_foreach_explicit_cast_in_source
Vlastnost | Hodnota | Popis |
---|---|---|
název možnosti | dotnet_style_prefer_foreach_explicit_cast_in_source | |
hodnoty možností | always |
Upřednostněte explicitní přetypování ve zdrojovém kódu. |
when_strongly_typed |
Upřednostňte explicitní přetypování pro kolekce silného typu (obecné), ale ne pro starší kolekce, například ArrayList. | |
výchozí hodnota možnosti | when_strongly_typed |
Příklad
// 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>())
Potlačení upozornění
Pokud chcete potlačit pouze jedno porušení, přidejte do zdrojového souboru direktivy preprocesoru, abyste pravidlo zakázali a znovu povolili.
#pragma warning disable IDE0220
// The code that's violating the rule is on this line.
#pragma warning restore IDE0220
Chcete-li pravidlo pro soubor, složku nebo projekt zakázat, nastavte jeho závažnost na none
v konfiguračním souboru .
[*.{cs,vb}]
dotnet_diagnostic.IDE0220.severity = none
Chcete-li zakázat všechna pravidla stylu kódu, nastavte závažnost pro kategorii Style
na none
v konfiguračním souboru .
[*.{cs,vb}]
dotnet_analyzer_diagnostic.category-Style.severity = none
Další informace naleznete v tématu Jak potlačit upozornění analýzy kódu.