Share via


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.

Se även