Error del compilador CS1945

Actualización: noviembre 2007

Mensaje de error

Un árbol de expresión no puede contener una expresión de método anónimo.
An expression tree may not contain an anonymous method expression.

Los árboles de expresión sólo pueden contener expresiones. Los métodos anónimos sólo pueden representar instrucciones.

Para corregir este error

  • No intente crear un árbol de expresión con una instrucción.

Ejemplo

El código siguiente genera el error CS1945:

// cs1945.cs
using System;
using System.Linq.Expressions;

public delegate void D();
class Test
{
    static void Main()
    {
        Expression<Func<int, Func<int, bool>>> tree = (x => delegate(int i) { return true; }); // CS1945
    }
}

Vea también

Conceptos

Árboles de expresiones

Referencia

Instrucciones, expresiones y operadores (Guía de programación de C#)