Rimuovere un'espressione lambda non necessaria (IDE0200)

Proprietà Valore
ID regola IDE0200
Titolo Rimuovere un'espressione lambda non necessaria
categoria Stile
sottocategoria Regole del linguaggio (preferenze del blocco di codice)
lingue applicabili C# 11+
Opzioni csharp_style_prefer_method_group_conversion

Panoramica

Questa regola contrassegna l'uso di un'espressione lambda in cui non è necessario. Le espressioni lambda potrebbero non essere necessarie quando sono tutte vere le seguenti:

  • L'espressione include una chiamata al metodo.
  • L'espressione lambda ha lo stesso numero e lo stesso ordine dei parametri della chiamata al metodo.
  • La chiamata al metodo non ha effetti collaterali.
  • L'espressione lambda non è assegnata a un tipo non delegato.
  • Se la chiamata è un metodo generico, vengono forniti gli argomenti di tipo.
  • Il tipo restituito del metodo richiamato può essere convertito nel tipo restituito dell'espressione lambda.
  • Nel gruppo di metodi è presente un solo metodo applicabile.

Opzioni

Le opzioni specificano il comportamento che si desidera far rispettare dalla regola. Per informazioni sulla configurazione delle opzioni, vedere Formato opzione.

csharp_style_prefer_method_group_conversion

Proprietà Valore Descrizione
Nome dell'opzione csharp_style_prefer_method_group_conversion
valori di opzione true Preferisce convertire un'espressione lambda in un gruppo di metodi.
false Disabilita la regola.
valore di opzione predefinito true

Esempio

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

Eliminare un avviso

Se si desidera eliminare solo una singola violazione, aggiungere direttive del preprocessore al file di origine per disabilitare e quindi riabilitare la regola.

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

Per disabilitare la regola per un file, una cartella o un progetto, impostarne la gravità su none nel file di configurazione .

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

Per disabilitare tutte le regole di tipo codice, impostare la gravità per la categoria Style su none nel file di configurazione .

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

Per altre informazioni, vedere Come eliminare gli avvisi di analisi del codice.

Vedere anche