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
Subcategory Pravidla jazyka (předvolby na úrovni výrazů)
Příslušné jazyky C#
Možnosti dotnet_style_prefer_foreach_explicit_cast_in_source

Přehled

Toto pravidlo označí absenci explicitního přetypování ve smyčce foreach , když kompilátor přidá skryté přetypování. U obecných kolekcí nebo kolekcí se silnými typy může vynucení explicitního přetypování, když kompilátor přidá skryté přetypování, odhalit použití nesprávného typu v foreach příkazu.

Možnosti

Možnosti určují chování, které má pravidlo vynucovat. Informace o konfiguraci možností najdete 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 Preferovat explicitní přetypování ve zdrojovém kódu.
when_strongly_typed Upřednostněte explicitní přetypování pro kolekce silného typu (obecné), ale ne pro starší kolekce, jako ArrayListje .
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, aby se pravidlo zakázalo a znovu povolte.

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

Pokud chcete pravidlo pro soubor, složku nebo projekt zakázat, nastavte jeho závažnost none na v konfiguračním souboru.

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

Pokud chcete zakázat všechna pravidla stylu kódu, nastavte v konfiguračním souboru závažnost kategorie Style na none .

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

Další informace najdete v tématu Jak potlačit upozornění analýzy kódu.

Viz také