Anmerkung
Der Zugriff auf diese Seite erfordert eine Genehmigung. Du kannst versuchen, dich anzumelden oder die Verzeichnisse zu wechseln.
Der Zugriff auf diese Seite erfordert eine Genehmigung. Du kannst versuchen , die Verzeichnisse zu wechseln.
| 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.