Share via


Overbodige lambda-expressie verwijderen (IDE0200)

Eigenschap Waarde
Regel-id IDE0200
Titel Overbodige lambda-expressie verwijderen
Categorie Stijl
Subcategorie Taalregels (voorkeuren voor codeblokken)
Toepasselijke talen C# 11+
Opties csharp_style_prefer_method_group_conversion

Overzicht

Deze regel markeert het gebruik van een lambda-expressie waar dit niet nodig is. Lambda-expressies zijn mogelijk niet nodig als aan de volgende voorwaarden wordt voldaan:

  • De expressie bevat een methode-aanroep.
  • De lambda-expressie heeft hetzelfde aantal en dezelfde volgorde van parameters als de methode aanroepen.
  • De methode aanroepen heeft geen bijwerkingen.
  • De lambda-expressie is niet toegewezen aan een niet-gemachtigd type.
  • Als de aanroep een algemene methode is, worden de typeargumenten opgegeven.
  • Het retourtype van de aangeroepen methode kan worden geconverteerd naar het retourtype van de lambda-expressie.
  • Er is slechts één toepasselijke methode in de methodegroep.

Opties

Met opties wordt het gedrag opgegeven dat door de regel moet worden afgedwongen. Zie Optie-indeling voor meer informatie over het configureren van opties.

csharp_style_prefer_method_group_conversion

Eigenschap Waarde Beschrijving
Naam van optie csharp_style_prefer_method_group_conversion
Optiewaarden true U wilt liever een lambda-expressie converteren naar een methodegroep.
false Hiermee schakelt u de regel uit.
Waarde van standaardoptie true

Voorbeeld

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

Een waarschuwing onderdrukken

Als u slechts één schending wilt onderdrukken, voegt u preprocessor-instructies toe aan uw bronbestand om de regel uit te schakelen en vervolgens opnieuw in te schakelen.

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

Als u de regel voor een bestand, map of project wilt uitschakelen, stelt u de ernst in op none in het configuratiebestand.

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

Als u alle codestijlregels wilt uitschakelen, stelt u de ernst voor de categorie Style in op none in het configuratiebestand.

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

Zie Waarschuwingen voor codeanalyse onderdrukken voor meer informatie.

Zie ook