Sdílet prostřednictvím


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.

Viz také