Unnötigen Lambdaausdruck entfernen“ (IDE0200)

Eigenschaft Wert
Regel-ID IDE0200
Titel Unnötigen Lambdaausdruck entfernen
Kategorie Stil
Unterkategorie Sprachregeln (Codeblockeinstellungen)
Gültige Sprachen C# 11+
Optionen csharp_style_prefer_method_group_conversion

Übersicht

Diese Regel kennzeichnet die Verwendung eines Lambdaausdrucks, wenn sie nicht notwendig ist. Lambdaausdrücke sind möglicherweise nicht erforderlich, wenn die folgenden Punkte alle zutreffen:

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

Optionen

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

csharp_style_prefer_method_group_conversion

Eigenschaft Wert Beschreibung
Name der Option csharp_style_prefer_method_group_conversion
Optionswerte true Ziehen Sie es vor, einen Lambdaausdruck in eine Methodengruppe zu konvertieren.
false Die Regel wird deaktiviert.
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

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 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 Konfigurationsdatei auf 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 Vorgehensweise: Unterdrücken von Codeanalyse-Warnungen.

Siehe auch