Share via


Hinzufügen einer expliziten Umwandlung in einer foreach-Schleife (IDE0220)

Eigenschaft Wert
Regel-ID IDE0220
Titel Hinzufügen einer expliziten Umwandlung
Kategorie Stil
Unterkategorie Sprachregeln (Einstellungen auf Ausdrucksebene)
Gültige Sprachen C#
Optionen dotnet_style_prefer_foreach_explicit_cast_in_source

Übersicht

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 Optionsformat.

dotnet_style_prefer_foreach_explicit_cast_in_source

Eigenschaft Wert Beschreibung
Name der Option 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

Um nur eine einzelne Verletzung zu unterdrücken, fügen Sie der Quelldatei Präprozessoranweisungen hinzu, um die Regel zu deaktivieren und dann wieder 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 Konfigurationsdatei auf none fest.

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

Um alle Regeln im Code-Stil zu deaktivieren, setzen Sie den Schweregrad für die Kategorie in der KonfigurationsdateiStyle auf none.

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

Weitere Informationen finden Sie unter Vorgehensweise: Unterdrücken von Codeanalyse-Warnungen.

Weitere Informationen