Was this page helpful?
Your feedback about this content is important. Let us know what you think.
Additional feedback?
1500 characters remaining
Export (0) Print
Expand All

Expression::Lambda Method (Type, Expression, IEnumerable<ParameterExpression>)

Creates a LambdaExpression by first constructing a delegate type. It can be used when the delegate type is not known at compile time.

Namespace:  System.Linq.Expressions
Assemblies:   System.Core (in System.Core.dll)
  System.Linq.Expressions (in System.Linq.Expressions.dll)

public:
static LambdaExpression^ Lambda(
	Type^ delegateType, 
	Expression^ body, 
	IEnumerable<ParameterExpression^>^ parameters
)

Parameters

delegateType
Type: System::Type

A Type that represents a delegate signature for the lambda.

body
Type: System.Linq.Expressions::Expression

An Expression to set the Body property equal to.

parameters
Type: System.Collections.Generic::IEnumerable<ParameterExpression>

An IEnumerable<T> that contains ParameterExpression objects to use to populate the Parameters collection.

Return Value

Type: System.Linq.Expressions::LambdaExpression
An object that represents a lambda expression which has the NodeType property equal to Lambda and the Body and Parameters properties set to the specified values.

ExceptionCondition
ArgumentNullException

delegateType or body is nullptr.

-or-

One or more elements in parameters are nullptr.

ArgumentException

delegateType does not represent a delegate type.

-or-

body.Type represents a type that is not assignable to the return type of the delegate type represented by delegateType.

-or-

parameters does not contain the same number of elements as the list of parameters for the delegate type represented by delegateType.

-or-

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.

The Type property of the resulting object is equal to delegateType. If parameters is nullptr, the Parameters property of the resulting object is an empty collection.

The following example demonstrates how to create an expression that represents a lambda expression that adds 1 to the passed argument.

No code example is currently available or this language may not be supported.

.NET Framework

Supported in: 4.6, 4.5, 4, 3.5

.NET Framework Client Profile

Supported in: 4, 3.5 SP1

Portable Class Library

Supported in: Portable Class Library

Supported in: Windows Phone 8.1

Supported in: Windows Phone Silverlight 8.1

Supported in: Windows Phone Silverlight 8
Show:
© 2015 Microsoft