Rimuovere un'espressione lambda non necessaria (IDE0200)

Proprietà Valore
ID regola IDE0200
Titolo Rimuovere un'espressione lambda non necessaria
Categoria Stile
Subcategory 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:

  • L'espressione include una chiamata al metodo.
  • L'espressione lambda ha lo stesso numero e l'ordine dei parametri della chiamata al metodo.
  • La chiamata al metodo non ha effetti collaterali.
  • L'espressione lambda non viene 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 vuole applicare la regola. Per informazioni sulla configurazione delle opzioni, vedere Formato opzione.

csharp_style_prefer_method_group_conversion

Proprietà Valore Descrizione
Nome 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 dell'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 vuole eliminare solo una singola violazione, aggiungere direttive di 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, impostare la relativa gravità su none nel file di configurazione.

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

Per disabilitare tutte le regole in stile 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.

Vedi anche