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.