Partilhar via


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