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.