Freigeben über


Entfernen eines unnötigen Lambda-Ausdrucks (IDE0200)

Eigentum Wert
Regel-ID IDE0200
Titel Entfernen eines unnötigen Lambda-Ausdrucks
Kategorie Stil
Unterkategorie Sprachregeln (Codeblockeinstellungen)
Anwendbare Sprachen C# 11+
Optionen csharp_style_prefer_method_group_conversion

Überblick

Diese Regel kennzeichnet die Verwendung eines Lambda-Ausdrucks, in dem er nicht benötigt wird. Lambda-Ausdrücke sind möglicherweise nicht erforderlich, wenn folgendes zutrifft:

  • Der Ausdruck enthält einen Methodenaufruf.
  • Der Lambda-Ausdruck hat die gleiche Anzahl und Reihenfolge von Parametern wie der Methodenaufruf.
  • Der Aufruf der Methode hat keine Nebenwirkungen.
  • Der Lambdaausdruck ist keinem Nicht-Delegattyp zugewiesen.
  • Wenn der Aufruf eine generische Methode ist, werden die Typargumente angegeben.
  • Der Rückgabetyp der aufgerufenen Methode kann in den Rückgabetyp des Lambda-Ausdrucks konvertiert werden.
  • Es gibt nur eine anwendbare Methode in der Methodengruppe.

Optionen

Optionen geben das Verhalten an, das die Regel erzwingen soll. Informationen zum Konfigurieren von Optionen finden Sie unter Option format.

csharp_style_prefer_method_group_conversion

Eigentum Wert Beschreibung
Optionenname csharp_style_prefer_method_group_conversion
Optionswerte true Konvertieren Sie einen Lambda-Ausdruck bevorzugt in eine Methodengruppe.
false Deaktiviert die Regel.
Standardoptionswert true

Beispiel

// Code with violations.
bool IsEven(int x) => x % 2 == 0;
_ = new[] { 1, 2, 3 }.Where(n => IsEven(n));

// Fixed code.
bool IsEven(int x) => x % 2 == 0;
_ = new[] { 1, 2, 3 }.Where(IsEven);

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 IDE0200
// The code that's violating the rule is on this line.
#pragma warning restore IDE0200

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.IDE0200.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 So unterdrücken Sie Codeanalysewarnungen.

Siehe auch