Megosztás a következőn keresztül:


Szükségtelen lambdakifejezés eltávolítása (IDE0200)

Ingatlan Érték
szabályazonosító IDE0200
cím Szükségtelen lambdakifejezés eltávolítása
kategória Stílus
Alkategória Nyelvi szabályok (kódblokk beállításai)
Alkalmazható nyelvek C# 11+
Beállítások csharp_style_prefer_method_group_conversion

Áttekintés

Ez a szabály egy lambda kifejezés használatát jelöli, ahol szükségtelen. A Lambda-kifejezések szükségtelenek lehetnek, ha az alábbiak mindegyike igaz:

  • A kifejezés metódushívást tartalmaz.
  • A lambda kifejezésben a paraméterek száma és sorrendje megegyezik a metódus meghívásával.
  • A metódushívásnak nincs mellékhatása.
  • A lambda kifejezés nincs nem-delegált típushoz rendelve.
  • Ha a hívás egy általános metódus, a típusargumentumok meg lesznek adva.
  • A meghívott metódus visszatérési típusa átalakítható a lambda kifejezés visszatérési típusává.
  • A metóduscsoportban csak egy alkalmazható metódus található.

Beállítások

A beállítások határozzák meg a szabály kényszerítéséhez használni kívánt viselkedést. További információ a beállítások konfigurálásáról: Beállításformátum.

csharp_style_prefer_method_group_conversion

Ingatlan Érték Leírás
beállításnév csharp_style_prefer_method_group_conversion
beállításértékek true Preferálja a lambda kifejezéseket metóduscsoporttá konvertálni.
false Letiltja a szabályt.
alapértelmezett beállításérték true

Példa

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

Figyelmeztetés mellőzése

Ha csak egyetlen szabálysértést szeretne letiltani, adjon hozzá előfeldolgozási irányelveket a forrásfájlhoz a szabály letiltásához és újbóli engedélyezéséhez.

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

Ha le szeretné tiltani egy fájl, mappa vagy projekt szabályát, állítsa annak súlyosságát none a konfigurációs fájlban.

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

Az összes kódstílus-szabály letiltásához állítsa a kategória Style súlyosságát none a konfigurációs fájlban.

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

További információ: Kódelemzési figyelmeztetések letiltása.

Lásd még: