Remover expressão lambda desnecessária (IDE0200)

Propriedade Valor
ID da regra IDE0200
Título Remover expressão lambda desnecessária
Categoria Estilo
Subcategoria Regras de linguagem (preferências de blocos de código)
Idiomas aplicáveis C# 11+
Opções csharp_style_prefer_method_group_conversion

Visão geral

Esta regra sinaliza o uso de uma expressão lambda onde é desnecessário. As expressões do Lambda podem ser desnecessárias quando as seguintes situações são todas verdadeiras:

  • A expressão inclui uma invocação de método.
  • A expressão lambda tem o mesmo número e ordem de parâmetros que a invocação do método.
  • A invocação do método não tem efeitos colaterais.
  • A expressão lambda não é atribuída a um tipo não delegado.
  • Se a invocação for um método genérico, os argumentos de tipo serão fornecidos.
  • O tipo de retorno do método invocado pode ser convertido para o tipo de retorno da expressão lambda.
  • Há apenas um método aplicável no grupo de métodos.

Opções

As opções especificam o comportamento que você deseja que a regra imponha . Para obter informações sobre como configurar opções, consulte Formato de opção.

csharp_style_prefer_method_group_conversion

Propriedade Valor Descrição
Nome da opção preferência_de_estilo_csharp_para_conversão_de_grupo_de_métodos
Valores de opção true Prefira converter uma expressão lambda em um grupo de métodos.
false Desativa a regra.
Valor da opção padrão true

Exemplo

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

Suprimir um aviso

Se você quiser suprimir apenas uma única violação, adicione diretivas de pré-processador ao arquivo de origem para desativar e, em seguida, reativar a regra.

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

Para desabilitar a regra para um arquivo, pasta ou projeto, defina sua gravidade como none no arquivo de configuração .

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

Para desabilitar todas as regras de estilo de código, defina a severidade da categoria Style como none no arquivo de configuração .

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

Para obter mais informações, consulte Como suprimir avisos de análise de código.

Ver também