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 idioma (preferências de bloco de código)
Idiomas aplicáveis C# 11+
Opções csharp_style_prefer_method_group_conversion

Descrição Geral

Esta regra sinaliza a utilização de uma expressão lambda onde é desnecessária. As expressões lambda podem ser desnecessárias quando as seguintes 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 são fornecidos.
  • O tipo de retorno do método invocado pode ser convertido para o tipo de retorno da expressão lambda.
  • Existe apenas um método aplicável no grupo de métodos.

Opções

As opções especificam o comportamento que pretende que a regra aplique. Para obter informações sobre como configurar opções, veja Formato de opção.

csharp_style_prefer_method_group_conversion

Propriedade Valor Descrição
Nome da opção csharp_style_prefer_method_group_conversion
Valores de opção true Prefere converter uma expressão lambda num grupo de métodos.
false Desativa a regra.
Valor de opção predefinido 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 quiser suprimir apenas uma única violação, adicione diretivas de pré-processamento ao ficheiro 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 desativar a regra para um ficheiro, pasta ou projeto, defina a sua gravidade como none no ficheiro de configuração.

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

Para desativar todas as regras de estilo de código, defina a gravidade da categoria Style como none no ficheiro de configuração.

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

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

Ver também