Hinzufügen einer expliziten Umwandlung in einer foreach-Schleife (IDE0220)
Eigentum | Wert |
---|---|
Regel-ID | IDE0220 |
Titel | Hinzufügen einer expliziten Umwandlung |
Kategorie | Stil |
Unterkategorie | Sprachregeln (Vorlieben auf Ausdrucksebene) |
Anwendbare Sprachen | C# |
Optionen | dotnet_style_prefer_foreach_explicit_cast_in_source |
Überblick
Diese Regel kennzeichnet das Fehlen einer expliziten Umwandlung in einer foreach
-Schleife, sodass der Compiler eine ausgeblendete Umwandlung hinzufügen würde. Bei generischen oder stark typisierten Auflistungen kann das Erzwingen einer expliziten Umwandlung, wenn der Compiler eine ausgeblendete Umwandlung hinzufügen würde, die Verwendung eines falschen Typs in der foreach
-Anweisung aufdecken.
Optionen
Optionen geben das Verhalten an, das die Regel erzwingen soll. Informationen zum Konfigurieren von Optionen finden Sie unter Option format.
dotnet_style_prefer_foreach_explicit_cast_in_source
Eigentum | Wert | Beschreibung |
---|---|---|
Optionsbezeichnung | dotnet_style_prefer_foreach_explicit_cast_in_source | |
Optionswerte | always |
Setzen Sie bevorzugt explizite Umwandlungen im Quellcode ein. |
when_strongly_typed |
Setzen Sie bevorzugt explizite Umwandlungen für stark typisierte (generische) Auflistungen ein, aber nicht für Legacyauflistungen wie ArrayList. | |
Standardoptionswert | when_strongly_typed |
Beispiel
// 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>())
Unterdrücken einer Warnung
Wenn Sie nur einen einzelnen Verstoß unterdrücken möchten, fügen Sie Ihrer Quelldatei Präprozessordirektiven hinzu, um die Regel zu deaktivieren und dann erneut zu aktivieren.
#pragma warning disable IDE0220
// The code that's violating the rule is on this line.
#pragma warning restore IDE0220
Um die Regel für eine Datei, einen Ordner oder ein Projekt zu deaktivieren, legen Sie den Schweregrad in der Konfigurationsdateiauf none
fest.
[*.{cs,vb}]
dotnet_diagnostic.IDE0220.severity = none
Um alle Code-Stilregeln zu deaktivieren, legen Sie den Schweregrad für die Kategorie Style
in der Konfigurationsdatei auf none
fest.
[*.{cs,vb}]
dotnet_analyzer_diagnostic.category-Style.severity = none
Weitere Informationen finden Sie unter So unterdrücken Sie Codeanalysewarnungen.