Ta bort onödigt lambda-uttryck (IDE0200)
Egenskap | Värde |
---|---|
Regel-ID | IDE0200 |
Rubrik | Ta bort onödigt lambda-uttryck |
Kategori | Format |
Underkategori | Språkregler (kodblocksinställningar) |
Tillämpliga språk | C# 11+ |
Alternativ | csharp_style_prefer_method_group_conversion |
Översikt
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 alla följande är sanna:
- Uttrycket innehåller ett metodanrop.
- Lambda-uttrycket har samma antal och ordning på parametrarna som metodanropet.
- Metodanropet har inga biverkningar.
- Lambda-uttrycket tilldelas inte till en icke-delegerad typ.
- Om anropet är en generisk 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);
Ignorera en varning
Om du bara vill förhindra en enda överträdelse lägger du till preprocessor-direktiv i källfilen för att inaktivera och aktiverar sedan regeln igen.
#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 kodstil 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.