CS0835 de erro do compilador
Mensagem de erro
Não é possível converter lambda em uma árvore de expressões cujo argumento de tipo 'type' não é um tipo delegado.
Se uma expressão lambda é convertida em uma árvore de expressão, árvore de expressão deve ter um tipo delegado para seu argumento.Além disso, a expressão lambda deve ser conversível no tipo delegado.
Para corrigir este erro
- Alterar o parâmetro de tipo de int um tipo de delegado, por exemplo Func<int,int>.
Exemplo
O exemplo a seguir gera CS0835:
// cs0835.cs
using System;
using System.Linq;
using System.Linq.Expressions;
public class C
{
public static int Main()
{
Expression<int> e = x => x + 1; // CS0835
// Try the following line instead.
// Expression<Func<int,int>> e2 = x => x + 1;
return 1;
}
}