Leggere in inglese

Condividi tramite


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

C#
// 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.

C#
#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 .

ini
[*.{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 .

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

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

Vedere anche