Expression.Lambda Method (Type, Expression, ParameterExpression)
Creates a LambdaExpression by first constructing a delegate type. It can be used when the delegate type is not known at compile time.
Assembly: System.Core (in System.Core.dll)
public static LambdaExpression Lambda( Type delegateType, Expression body, params ParameterExpression parameters )
delegateType or body is null.
One or more elements in parameters are null.
delegateType does not represent a delegate type.
body.Type represents a type that is not assignable to the return type of the delegate type represented by delegateType.
parameters does not contain the same number of elements as the list of parameters for the delegate type represented by delegateType.
The Type property of an element of parameters is not assignable from the type of the corresponding parameter type of the delegate type represented by delegateType.
The object that is returned from this function is of type Expression<TDelegate>. The LambdaExpression type is used to represent the returned object because the concrete type of the lambda expression is not known at compile time.
The number of parameters for the delegate type represented by delegateType must equal the length of parameters.
The elements of parameters must be reference equal to the parameter expressions in body.
Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2
The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.