CS1946 de erro do compilador
Mensagem de erro
Uma expressão de método anônimo não pode ser convertida em uma árvore de expressão.
Um método anônimo representa um conjunto de instruções, mas uma árvore de expressões não deve conter uma demonstrativo.Portanto, um método anônimo não pode ser representado por uma árvore de expressão.
Para corrigir este erro
- Altere o método anônimo para uma expressão lambda.
Exemplo
O exemplo a seguir gera CS1946:
// cs1946.cs
using System;
using System.Linq.Expressions;
public delegate void D();
class Test
{
static void Main()
{
Expression<D> tree = delegate() { }; //CS1946
// Try using a lambda expression instead.
// Expression<D> tree = (x) => x + 1;
}
}