Supprimer l’expression lambda inutile (IDE0200)

Propriété Value
Identificateur de la règle IDE0200
Titre Supprimer l’expression lambda inutile
Catégorie Style
Sous-catégorie Règles du langage (préférences de blocs de code)
Langages applicables C# 11
Options csharp_style_prefer_method_group_conversion

Vue d’ensemble

Cette règle signale l’utilisation d’une expression lambda lorsqu’elle n’est pas nécessaire. Les expressions lambda peuvent être inutiles lorsque les éléments suivants sont tous vrais :

  • L’expression inclut un appel de méthode.
  • L’expression lambda a le même nombre et le même ordre de paramètres que l’appel de méthode.
  • L’appel de méthode n’a aucun effet secondaire.
  • L’expression lambda n’est pas affectée à un type non délégué.
  • Si l’appel est une méthode générique, les arguments de type sont fournis.
  • Le type de retour de la méthode appelée peut être converti en type de retour de l’expression lambda.
  • Il n’existe qu’une seule méthode applicable dans le groupe de méthodes.

Options

Les options spécifient le comportement que vous souhaitez que la règle applique. Pour plus d’informations sur la configuration des options, consultez Format d’option.

csharp_style_prefer_method_group_conversion

Propriété Valeur Description
Nom d'option csharp_style_prefer_method_group_conversion
Valeurs d’option true Préférez convertir une expression lambda en groupe de méthodes.
false Il désactive la règle.
Valeur d’option par défaut true

Exemple

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

Supprimer un avertissement

Si vous voulez supprimer une seule violation, ajoutez des directives de préprocesseur à votre fichier source pour désactiver et réactiver la règle.

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

Pour désactiver la règle sur un fichier, un dossier ou un projet, définissez sa gravité sur none dans le fichier de configuration.

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

Pour désactiver toutes les règles de style de code, définissez la gravité de la catégorie Style sur none dans le fichier de configuration.

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

Pour plus d’informations, consultez Comment supprimer les avertissements de l’analyse de code.

Voir aussi