Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
| 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.