Compartilhar 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

Visão geral

Essa regra sinaliza o uso de uma expressão lambda em que ela é desnecessária. As expressões lambda podem ser desnecessárias quando todas as seguintes são 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 no 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_conversão

Propriedade Valor Descrição
Nome da Opção csharp_style_prefer_method_group_conversão
Valores das opções true Prefira converter uma expressão lambda em um grupo de métodos.
false Desabilita a regra.
valor de 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 seu arquivo de origem para desabilitar e depois habilitar novamente 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 de um arquivo, pasta ou projeto, defina sua severidade 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 para 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.

Consulte também