Compiler Error CS1945

Visual Studio 2008

An expression tree may not contain an anonymous method expression.

Expression trees can only contain expressions. Anonymous methods can only represent statements.

To correct this error

  • Do not try to create an expression tree with a statement.

The following code generates 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

Community Additions