CS1951 de erro do compilador

Mensagem de erro

Uma expressão lambda de árvore não pode conter um out ou ref parâmetro.

Uma árvore de expressão representa apenas expressões sistema autônomo estruturas de dados.Não é possível representar locais de memória específica é necessário quando você passar um parâmetro por referência.

Para corrigir este erro

  • A única opção é remover o ref modificador na definição de delegado e passe o parâmetro por valor.

Exemplo

O exemplo a seguir gera CS1951:

// cs1951.cs
using System.Linq;
public delegate int TestDelegate(ref int i);
class Test
{
    static void Main()
    {
        System.Linq.Expressions.Expression<TestDelegate> tree1 = (ref int x) => x; // CS1951
    }
}

Consulte também

Conceitos

Árvores de Expressão