Sdílet prostřednictvím


Odstraňte nepotřebný výraz lambda (IDE0200)

Vlastnost Hodnota
ID pravidla IDE0200
název Odstraňte nepotřebný výraz lambda
kategorie Styl
podkategorie Jazyková pravidla (předvolby bloku kódu)
příslušné jazyky C# 11 a novější
Možnosti csharp_style_prefer_method_group_conversion

Přehled

Toto pravidlo označí použití výrazu lambda, kde není nutné. Výrazy lambda můžou být zbytečné, pokud jsou splněné následující podmínky:

  • Výraz obsahuje vyvolání metody.
  • Výraz lambda má stejné číslo a pořadí parametrů jako volání metody.
  • Vyvolání metody nemá žádné vedlejší účinky.
  • Výraz lambda není přiřazen k typu nelegování.
  • Pokud je vyvolání obecnou metodou, zadají se argumenty typu.
  • Návratový typ vyvolané metody lze převést na návratový typ výrazu lambda.
  • Ve skupině metod existuje pouze jedna použitelná metoda.

Volby

Možnosti určují chování, které má pravidlo vynutit. Informace o konfiguraci možností naleznete v tématu Formát možnosti.

csharp_style_prefer_method_group_conversion

Vlastnost Hodnota Popis
název možnosti csharp_style_prefer_method_group_conversion
hodnoty možností true Raději převeďte výraz lambda na skupinu metod.
false Deaktivuje pravidlo.
výchozí hodnota možnosti true

Příklad

// 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);

Potlačte upozornění

Pokud chcete potlačit pouze jedno porušení, přidejte do zdrojového souboru direktivy preprocesoru, abyste pravidlo zakázali a znovu povolili.

#pragma warning disable IDE0200
// The code that's violating the rule is on this line.
#pragma warning restore IDE0200

Chcete-li pravidlo pro soubor, složku nebo projekt zakázat, nastavte jeho závažnost na none v konfiguračním souboru .

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

Chcete-li zakázat všechna pravidla stylu kódu, nastavte závažnost pro kategorii Style na none v konfiguračním souboru .

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

Další informace naleznete v tématu Jak potlačit upozornění analýzy kódu.

Viz také