Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
| Egenskap | Värde | 
|---|---|
| Regel-ID | IDE0200 | 
| rubrik | Ta bort onödigt lambda-uttryck | 
| Kategori | Stil | 
| underkategori | Språkregler (kodblocksinställningar) | 
| Tillämpliga språk | C# 11+ | 
| alternativ | csharp_style_prefer_method_group_conversion | 
Överblick
Den här regeln flaggar användningen av ett lambda-uttryck där det är onödigt. Lambda-uttryck kan vara onödiga när följande är sanna:
- Uttrycket innehåller ett metodanrop.
- Lambda-uttrycket har samma antal och ordning på parametrarna som metodanropet.
- Metodanropet har inga sidoeffekter.
- Lambda-uttrycket tilldelas inte till en icke-delegerad typ.
- Om anropet är en allmän metod anges typargumenten.
- Den anropade metodens returtyp kan konverteras till lambda-uttryckets returtyp.
- Det finns bara en tillämplig metod i metodgruppen.
Alternativ
Alternativ anger det beteende som du vill att regeln ska framtvinga. Information om hur du konfigurerar alternativ finns i Alternativformat.
csharp_style_prefer_method_group_conversion
| Egenskap | Värde | Beskrivning | 
|---|---|---|
| Alternativnamn | csharp_style_prefer_method_group_conversion | |
| Alternativvärden | true | Välj att konvertera ett lambda-uttryck till en metodgrupp. | 
| false | Inaktiverar regeln. | |
| standardalternativvärde | true | 
Exempel
// 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);
Undertryck en varning
Om du bara vill förhindra en enda överträdelse lägger du till förprocessordirektiv i källfilen för att inaktivera och återaktiverar sedan regeln.
#pragma warning disable IDE0200
// The code that's violating the rule is on this line.
#pragma warning restore IDE0200
Om du vill inaktivera regeln för en fil, mapp eller ett projekt anger du dess allvarlighetsgrad till none i konfigurationsfilen.
[*.{cs,vb}]
dotnet_diagnostic.IDE0200.severity = none
Om du vill inaktivera alla regler i kodformat anger du allvarlighetsgraden för kategorin Style till none i konfigurationsfilen .
[*.{cs,vb}]
dotnet_analyzer_diagnostic.category-Style.severity = none
Mer information finns i Så här utelämnar du kodanalysvarningar.