Sdílet prostřednictvím


Odebrání nepotřebného výrazu lambda (IDE0200)

Vlastnost Hodnota
ID pravidla IDE0200
Název Odebrání nepotřebného výrazu lambda
Kategorie Styl
Subcategory Pravidla jazyka (předvolby blokování kódu)
Příslušné jazyky C# 11+
Možnosti csharp_style_prefer_method_group_conversion

Přehled

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

  • Výraz obsahuje vyvolání metody.
  • Výraz lambda má stejný počet a pořadí parametrů jako volání metody.
  • Vyvolání metody nemá žádné vedlejší účinky.
  • Výraz lambda není přiřazen typu, který není delegovaný.
  • Pokud je vyvolání obecná metoda, jsou zadány argumenty typu.
  • Návratový typ volané metody lze převést na návratový typ výrazu lambda.
  • Ve skupině metod je pouze jedna použitelná metoda.

Možnosti

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

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 Zakáže 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čení upozornění

Pokud chcete potlačit pouze jedno porušení, přidejte do zdrojového souboru direktivy preprocesoru, které pravidlo zakažou a znovu ho povolí.

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

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

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

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

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

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

Viz také