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.