Expression.Lambda Метод

Определение

Создает дерево выражений, которое представляет лямбда-выражение.Creates an expression tree that represents a lambda expression.

Перегрузки

Lambda(Type, Expression, String, Boolean, IEnumerable<ParameterExpression>)

Создает LambdaExpression, в котором тип делегата известен во время компиляции, с именем для лямбда-функции, параметром, указывающим, следует ли использовать оптимизацию вызовов с префиксом tail и перечисляемой коллекцией выражений параметров.Creates a LambdaExpression where the delegate type is known at compile time, with the name for the lambda, a parameter that indicates whether tail call optimization will be applied, and an enumerable collection of parameter expressions.

Lambda(Type, Expression, String, IEnumerable<ParameterExpression>)

Создает LambdaExpression, в котором тип делегата известен во время компиляции, с именем для лямбда-функции и перечисляемой коллекцией выражений параметров.Creates a LambdaExpression where the delegate type is known at compile time, with the name for the lambda, and an enumerable collection of parameter expressions.

Lambda(Type, Expression, Boolean, IEnumerable<ParameterExpression>)

Создает LambdaExpression, в котором тип делегата известен во время компиляции, с параметром, указывающим, следует ли использовать оптимизацию вызовов с префиксом tail, а также перечисляемую коллекцию выражений параметров.Creates a LambdaExpression where the delegate type is known at compile time, with a parameter that indicates whether tail call optimization will be applied, and an enumerable collection of parameter expressions.

Lambda(Expression, String, Boolean, IEnumerable<ParameterExpression>)

Создает LambdaExpression, создавая сначала тип делегата из тела выражения, имя для лямбда-функции, параметр, указывающий, следует ли использовать оптимизацию вызовов с префиксом tail, а также перечисляемую коллекцию выражений параметров.Creates a LambdaExpression by first constructing a delegate type from the expression body, the name for the lambda, a parameter that indicates whether tail call optimization will be applied, and an enumerable collection of parameter expressions. Он может использоваться, если тип делегата неизвестен в момент компиляции.It can be used when the delegate type is not known at compile time.

Lambda(Type, Expression, ParameterExpression[])

Создает LambdaExpression, в котором тип делегата известен во время компиляции, с массивом выражений параметров.Creates a LambdaExpression where the delegate type is known at compile time, with an array of parameter expressions.

Lambda(Type, Expression, Boolean, ParameterExpression[])

Создает LambdaExpression, в котором тип делегата известен во время компиляции, с параметром, указывающим, следует ли использовать оптимизацию вызовов с префиксом tail, а также массив выражений параметров.Creates a LambdaExpression where the delegate type is known at compile time, with a parameter that indicates whether tail call optimization will be applied, and an array of parameter expressions.

Lambda(Expression, String, IEnumerable<ParameterExpression>)

Создает LambdaExpression, создавая сначала тип делегата из тела выражения, имя для лямбда-функции и перечисляемую коллекцию выражений параметров.Creates a LambdaExpression by first constructing a delegate type from the expression body, the name for the lambda, and an enumerable collection of parameter expressions. Он может использоваться, если тип делегата неизвестен в момент компиляции.It can be used when the delegate type is not known at compile time.

Lambda(Expression, Boolean, ParameterExpression[])

Создает LambdaExpression, создавая сначала тип делегата из тела выражения, параметр, указывающий, следует ли использовать оптимизацию вызовов с префиксом tail, а также массив выражений параметров.Creates a LambdaExpression by first constructing a delegate type from the expression body, a parameter that indicates whether tail call optimization will be applied, and an array of parameter expressions. Он может использоваться, если тип делегата неизвестен в момент компиляции.It can be used when the delegate type is not known at compile time.

Lambda(Expression, Boolean, IEnumerable<ParameterExpression>)

Создает LambdaExpression, создавая сначала тип делегата из тела выражения, параметр, указывающий, следует ли использовать оптимизацию вызовов с префиксом tail, а также перечисляемую коллекцию выражений параметров.Creates a LambdaExpression by first constructing a delegate type from the expression body, a parameter that indicates whether tail call optimization will be applied, and an enumerable collection of parameter expressions. Он может использоваться, если тип делегата неизвестен в момент компиляции.It can be used when the delegate type is not known at compile time.

Lambda(Type, Expression, IEnumerable<ParameterExpression>)

Создает LambdaExpression, в котором тип делегата известен во время компиляции, с перечисляемой коллекцией выражений параметров.Creates a LambdaExpression where the delegate type is known at compile time, with an enumerable collection of parameter expressions.

Lambda(Expression, ParameterExpression[])

Создает LambdaExpression, создавая сначала тип делегата из тела выражения и массив выражений параметров.Creates a LambdaExpression by first constructing a delegate type from the expression body, and an array of parameter expressions. Он может использоваться, если тип делегата неизвестен в момент компиляции.It can be used when the delegate type is not known at compile time.

Lambda(Expression, IEnumerable<ParameterExpression>)

Создает LambdaExpression, создавая сначала тип делегата из тела выражения и перечисляемую коллекцию выражений параметров.Creates a LambdaExpression by first constructing a delegate type from the expression body, and an enumerable collection of parameter expressions. Он может использоваться, если тип делегата неизвестен в момент компиляции.It can be used when the delegate type is not known at compile time.

Lambda<TDelegate>(Expression, String, IEnumerable<ParameterExpression>)

Создает Expression<TDelegate>, в котором тип делегата известен во время компиляции, с именем для лямбда-функции и перечисляемой коллекцией выражений параметров.Creates an Expression<TDelegate> where the delegate type is known at compile time, with the name for the lambda, and an enumerable collection of parameter expressions.

Lambda<TDelegate>(Expression, Boolean, ParameterExpression[])

Создает Expression<TDelegate>, в котором тип делегата известен во время компиляции, с параметром, указывающим, следует ли использовать оптимизацию вызовов с префиксом tail и массивом выражений параметров.Creates an Expression<TDelegate> where the delegate type is known at compile time, with a parameter that indicates whether tail call optimization will be applied, and an array of parameter expressions.

Lambda<TDelegate>(Expression, String, Boolean, IEnumerable<ParameterExpression>)

Создает Expression<TDelegate>, в котором тип делегата известен во время компиляции, с именем для лямбда-функции, параметром, указывающим, следует ли использовать оптимизацию вызовов с префиксом tail и перечисляемой коллекцией выражений параметров.Creates an Expression<TDelegate> where the delegate type is known at compile time, with the name for the lambda, a parameter that indicates whether tail call optimization will be applied, and an enumerable collection of parameter expressions.

Lambda<TDelegate>(Expression, ParameterExpression[])

Создает Expression<TDelegate>, в котором тип делегата известен во время компиляции, с массивом выражений параметров.Creates an Expression<TDelegate> where the delegate type is known at compile time, with an array of parameter expressions.

Lambda<TDelegate>(Expression, IEnumerable<ParameterExpression>)

Создает Expression<TDelegate>, в котором тип делегата известен во время компиляции, с перечисляемой коллекцией выражений параметров.Creates an Expression<TDelegate> where the delegate type is known at compile time, with an enumerable collection of parameter expressions.

Lambda<TDelegate>(Expression, Boolean, IEnumerable<ParameterExpression>)

Создает Expression<TDelegate>, в котором тип делегата известен во время компиляции, с параметром, указывающим, следует ли использовать оптимизацию вызовов с префиксом tail и перечисляемой коллекцией выражений параметров.Creates an Expression<TDelegate> where the delegate type is known at compile time, with a parameter that indicates whether tail call optimization will be applied, and an enumerable collection of parameter expressions.

Lambda(Type, Expression, String, Boolean, IEnumerable<ParameterExpression>)

Создает LambdaExpression, в котором тип делегата известен во время компиляции, с именем для лямбда-функции, параметром, указывающим, следует ли использовать оптимизацию вызовов с префиксом tail и перечисляемой коллекцией выражений параметров.Creates a LambdaExpression where the delegate type is known at compile time, with the name for the lambda, a parameter that indicates whether tail call optimization will be applied, and an enumerable collection of parameter expressions.

public:
 static System::Linq::Expressions::LambdaExpression ^ Lambda(Type ^ delegateType, System::Linq::Expressions::Expression ^ body, System::String ^ name, bool tailCall, System::Collections::Generic::IEnumerable<System::Linq::Expressions::ParameterExpression ^> ^ parameters);
public static System.Linq.Expressions.LambdaExpression Lambda (Type delegateType, System.Linq.Expressions.Expression body, string name, bool tailCall, System.Collections.Generic.IEnumerable<System.Linq.Expressions.ParameterExpression> parameters);
static member Lambda : Type * System.Linq.Expressions.Expression * string * bool * seq<System.Linq.Expressions.ParameterExpression> -> System.Linq.Expressions.LambdaExpression
Public Shared Function Lambda (delegateType As Type, body As Expression, name As String, tailCall As Boolean, parameters As IEnumerable(Of ParameterExpression)) As LambdaExpression

Параметры

delegateType
Type

Объект Type, представляющий сигнатуру делегата для лямбда-выражения.A Type representing the delegate signature for the lambda.

body
Expression

Объект Expression, который следует задать в качестве значения свойства Body.An Expression to set the Body property equal to.

name
String

Имя для лямбда-функции.The name for the lambda. Используется для выпуска сведений об отладке.Used for emitting debug information.

tailCall
Boolean

Значение Boolean, которое указывает, следует ли использовать оптимизацию вызовов с префиксом tail при компиляции созданного выражения.A Boolean that indicates if tail call optimization will be applied when compiling the created expression.

parameters
IEnumerable<ParameterExpression>

IEnumerable<T>, содержащий все объекты ParameterExpression, используемые для заполнения коллекции Parameters.An IEnumerable<T> that contains ParameterExpression objects to use to populate the Parameters collection.

Возвраты

Выражение LambdaExpression, у которого свойство NodeType равняется лямбда-выражению, а для свойств Body и Parameters заданы указанные значения.A LambdaExpression that has the NodeType property equal to Lambda and the Body and Parameters properties set to the specified values.

Lambda(Type, Expression, String, IEnumerable<ParameterExpression>)

Создает LambdaExpression, в котором тип делегата известен во время компиляции, с именем для лямбда-функции и перечисляемой коллекцией выражений параметров.Creates a LambdaExpression where the delegate type is known at compile time, with the name for the lambda, and an enumerable collection of parameter expressions.

public:
 static System::Linq::Expressions::LambdaExpression ^ Lambda(Type ^ delegateType, System::Linq::Expressions::Expression ^ body, System::String ^ name, System::Collections::Generic::IEnumerable<System::Linq::Expressions::ParameterExpression ^> ^ parameters);
public static System.Linq.Expressions.LambdaExpression Lambda (Type delegateType, System.Linq.Expressions.Expression body, string name, System.Collections.Generic.IEnumerable<System.Linq.Expressions.ParameterExpression> parameters);
static member Lambda : Type * System.Linq.Expressions.Expression * string * seq<System.Linq.Expressions.ParameterExpression> -> System.Linq.Expressions.LambdaExpression
Public Shared Function Lambda (delegateType As Type, body As Expression, name As String, parameters As IEnumerable(Of ParameterExpression)) As LambdaExpression

Параметры

delegateType
Type

Объект Type, представляющий сигнатуру делегата для лямбда-выражения.A Type representing the delegate signature for the lambda.

body
Expression

Объект Expression, который следует задать в качестве значения свойства Body.An Expression to set the Body property equal to.

name
String

Имя для лямбда-функции.The name for the lambda. Используется для выпуска сведений об отладке.Used for emitting debug information.

parameters
IEnumerable<ParameterExpression>

IEnumerable<T>, содержащий все объекты ParameterExpression, используемые для заполнения коллекции Parameters.An IEnumerable<T> that contains ParameterExpression objects to use to populate the Parameters collection.

Возвраты

Выражение LambdaExpression, у которого свойство NodeType равняется лямбда-выражению, а для свойств Body и Parameters заданы указанные значения.A LambdaExpression that has the NodeType property equal to Lambda and the Body and Parameters properties set to the specified values.

Lambda(Type, Expression, Boolean, IEnumerable<ParameterExpression>)

Создает LambdaExpression, в котором тип делегата известен во время компиляции, с параметром, указывающим, следует ли использовать оптимизацию вызовов с префиксом tail, а также перечисляемую коллекцию выражений параметров.Creates a LambdaExpression where the delegate type is known at compile time, with a parameter that indicates whether tail call optimization will be applied, and an enumerable collection of parameter expressions.

public:
 static System::Linq::Expressions::LambdaExpression ^ Lambda(Type ^ delegateType, System::Linq::Expressions::Expression ^ body, bool tailCall, System::Collections::Generic::IEnumerable<System::Linq::Expressions::ParameterExpression ^> ^ parameters);
public static System.Linq.Expressions.LambdaExpression Lambda (Type delegateType, System.Linq.Expressions.Expression body, bool tailCall, System.Collections.Generic.IEnumerable<System.Linq.Expressions.ParameterExpression> parameters);
static member Lambda : Type * System.Linq.Expressions.Expression * bool * seq<System.Linq.Expressions.ParameterExpression> -> System.Linq.Expressions.LambdaExpression
Public Shared Function Lambda (delegateType As Type, body As Expression, tailCall As Boolean, parameters As IEnumerable(Of ParameterExpression)) As LambdaExpression

Параметры

delegateType
Type

Объект Type, представляющий сигнатуру делегата для лямбда-выражения.A Type representing the delegate signature for the lambda.

body
Expression

Объект Expression, который следует задать в качестве значения свойства Body.An Expression to set the Body property equal to.

tailCall
Boolean

Значение Boolean, которое указывает, следует ли использовать оптимизацию вызовов с префиксом tail при компиляции созданного выражения.A Boolean that indicates if tail call optimization will be applied when compiling the created expression.

parameters
IEnumerable<ParameterExpression>

IEnumerable<T>, содержащий все объекты ParameterExpression, используемые для заполнения коллекции Parameters.An IEnumerable<T> that contains ParameterExpression objects to use to populate the Parameters collection.

Возвраты

Выражение LambdaExpression, у которого свойство NodeType равняется лямбда-выражению, а для свойств Body и Parameters заданы указанные значения.A LambdaExpression that has the NodeType property equal to Lambda and the Body and Parameters properties set to the specified values.

Lambda(Expression, String, Boolean, IEnumerable<ParameterExpression>)

Создает LambdaExpression, создавая сначала тип делегата из тела выражения, имя для лямбда-функции, параметр, указывающий, следует ли использовать оптимизацию вызовов с префиксом tail, а также перечисляемую коллекцию выражений параметров.Creates a LambdaExpression by first constructing a delegate type from the expression body, the name for the lambda, a parameter that indicates whether tail call optimization will be applied, and an enumerable collection of parameter expressions. Он может использоваться, если тип делегата неизвестен в момент компиляции.It can be used when the delegate type is not known at compile time.

public:
 static System::Linq::Expressions::LambdaExpression ^ Lambda(System::Linq::Expressions::Expression ^ body, System::String ^ name, bool tailCall, System::Collections::Generic::IEnumerable<System::Linq::Expressions::ParameterExpression ^> ^ parameters);
public static System.Linq.Expressions.LambdaExpression Lambda (System.Linq.Expressions.Expression body, string name, bool tailCall, System.Collections.Generic.IEnumerable<System.Linq.Expressions.ParameterExpression> parameters);
static member Lambda : System.Linq.Expressions.Expression * string * bool * seq<System.Linq.Expressions.ParameterExpression> -> System.Linq.Expressions.LambdaExpression
Public Shared Function Lambda (body As Expression, name As String, tailCall As Boolean, parameters As IEnumerable(Of ParameterExpression)) As LambdaExpression

Параметры

body
Expression

Объект Expression, который следует задать в качестве значения свойства Body.An Expression to set the Body property equal to.

name
String

Имя для лямбда-функции.The name for the lambda. Используется для выпуска сведений об отладке.Used for emitting debug information.

tailCall
Boolean

Значение Boolean, которое указывает, следует ли использовать оптимизацию вызовов с префиксом tail при компиляции созданного выражения.A Boolean that indicates if tail call optimization will be applied when compiling the created expression.

parameters
IEnumerable<ParameterExpression>

IEnumerable<T>, содержащий все объекты ParameterExpression, используемые для заполнения коллекции Parameters.An IEnumerable<T> that contains ParameterExpression objects to use to populate the Parameters collection.

Возвраты

Выражение LambdaExpression, у которого свойство NodeType равняется лямбда-выражению, а для свойств Body и Parameters заданы указанные значения.A LambdaExpression that has the NodeType property equal to Lambda and the Body and Parameters properties set to the specified values.

Lambda(Type, Expression, ParameterExpression[])

Создает LambdaExpression, в котором тип делегата известен во время компиляции, с массивом выражений параметров.Creates a LambdaExpression where the delegate type is known at compile time, with an array of parameter expressions.

public:
 static System::Linq::Expressions::LambdaExpression ^ Lambda(Type ^ delegateType, System::Linq::Expressions::Expression ^ body, ... cli::array <System::Linq::Expressions::ParameterExpression ^> ^ parameters);
public static System.Linq.Expressions.LambdaExpression Lambda (Type delegateType, System.Linq.Expressions.Expression body, params System.Linq.Expressions.ParameterExpression[] parameters);
static member Lambda : Type * System.Linq.Expressions.Expression * System.Linq.Expressions.ParameterExpression[] -> System.Linq.Expressions.LambdaExpression
Public Shared Function Lambda (delegateType As Type, body As Expression, ParamArray parameters As ParameterExpression()) As LambdaExpression

Параметры

delegateType
Type

Тип Type, представляющий сигнатуру делегата для лямбда-выражения.A Type that represents a delegate signature for the lambda.

body
Expression

Объект Expression, который следует задать в качестве значения свойства Body.An Expression to set the Body property equal to.

parameters
ParameterExpression[]

Массив объектов ParameterExpression для заполнения коллекции Parameters.An array of ParameterExpression objects to use to populate the Parameters collection.

Возвраты

Объект, представляющий лямбда-выражение со свойством NodeType, равным Lambda и Body, и свойства Parameters, для которых заданы указанные значения.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.

Исключения

Параметр delegateType или body имеет значение null.delegateType or body is null.

- или --or- Один или несколько элементов в parameters имеют значение null.One or more elements in parameters are null.

Тип delegateType не представляет тип делегата.delegateType does not represent a delegate type.

-или--or- Тип body.Type представляет тип, который не может быть назначен для типа возврата типа делегата, представленного delegateType.body.Type represents a type that is not assignable to the return type of the delegate type represented by delegateType.

- или --or- parameters не содержит количество элементов, равное количеству списка параметров для типа делегата, представленного delegateType.parameters does not contain the same number of elements as the list of parameters for the delegate type represented by delegateType.

-или--or- Свойство Type элемента parameters нельзя назначить от типа соответствующего типа параметра типа делегата, представленного через 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.

Комментарии

Объект, возвращаемый этой функцией, имеет тип Expression<TDelegate>.The object that is returned from this function is of type Expression<TDelegate>. LambdaExpression Тип используется для представления возвращаемого объекта, так как конкретный тип лямбда-выражения неизвестен во время компиляции.The LambdaExpression type is used to represent the returned object because the concrete type of the lambda expression is not known at compile time.

Число параметров для типа делегата, представленного, delegateType должно равняться parametersдлине.The number of parameters for the delegate type represented by delegateType must equal the length of parameters.

Элементы класса parameters должны быть ссылочными, равными выражениям параметров bodyв.The elements of parameters must be reference equal to the parameter expressions in body.

Свойство полученного объекта delegateTypeравно. TypeThe Type property of the resulting object is equal to delegateType. Если parameters имеет nullзначение ,Parameters свойство полученного объекта является пустой коллекцией.If parameters is null, the Parameters property of the resulting object is an empty collection.

Lambda(Type, Expression, Boolean, ParameterExpression[])

Создает LambdaExpression, в котором тип делегата известен во время компиляции, с параметром, указывающим, следует ли использовать оптимизацию вызовов с префиксом tail, а также массив выражений параметров.Creates a LambdaExpression where the delegate type is known at compile time, with a parameter that indicates whether tail call optimization will be applied, and an array of parameter expressions.

public:
 static System::Linq::Expressions::LambdaExpression ^ Lambda(Type ^ delegateType, System::Linq::Expressions::Expression ^ body, bool tailCall, ... cli::array <System::Linq::Expressions::ParameterExpression ^> ^ parameters);
public static System.Linq.Expressions.LambdaExpression Lambda (Type delegateType, System.Linq.Expressions.Expression body, bool tailCall, params System.Linq.Expressions.ParameterExpression[] parameters);
static member Lambda : Type * System.Linq.Expressions.Expression * bool * System.Linq.Expressions.ParameterExpression[] -> System.Linq.Expressions.LambdaExpression
Public Shared Function Lambda (delegateType As Type, body As Expression, tailCall As Boolean, ParamArray parameters As ParameterExpression()) As LambdaExpression

Параметры

delegateType
Type

Объект Type, представляющий сигнатуру делегата для лямбда-выражения.A Type representing the delegate signature for the lambda.

body
Expression

Объект Expression, который следует задать в качестве значения свойства Body.An Expression to set the Body property equal to.

tailCall
Boolean

Значение Boolean, которое указывает, следует ли использовать оптимизацию вызовов с префиксом tail при компиляции созданного выражения.A Boolean that indicates if tail call optimization will be applied when compiling the created expression.

parameters
ParameterExpression[]

Массив, содержащий объекты ParameterExpression, используемые для заполнения коллекции Parameters.An array that contains ParameterExpression objects to use to populate the Parameters collection.

Возвраты

Выражение LambdaExpression, у которого свойство NodeType равняется лямбда-выражению, а для свойств Body и Parameters заданы указанные значения.A LambdaExpression that has the NodeType property equal to Lambda and the Body and Parameters properties set to the specified values.

Lambda(Expression, String, IEnumerable<ParameterExpression>)

Создает LambdaExpression, создавая сначала тип делегата из тела выражения, имя для лямбда-функции и перечисляемую коллекцию выражений параметров.Creates a LambdaExpression by first constructing a delegate type from the expression body, the name for the lambda, and an enumerable collection of parameter expressions. Он может использоваться, если тип делегата неизвестен в момент компиляции.It can be used when the delegate type is not known at compile time.

public:
 static System::Linq::Expressions::LambdaExpression ^ Lambda(System::Linq::Expressions::Expression ^ body, System::String ^ name, System::Collections::Generic::IEnumerable<System::Linq::Expressions::ParameterExpression ^> ^ parameters);
public static System.Linq.Expressions.LambdaExpression Lambda (System.Linq.Expressions.Expression body, string name, System.Collections.Generic.IEnumerable<System.Linq.Expressions.ParameterExpression> parameters);
static member Lambda : System.Linq.Expressions.Expression * string * seq<System.Linq.Expressions.ParameterExpression> -> System.Linq.Expressions.LambdaExpression
Public Shared Function Lambda (body As Expression, name As String, parameters As IEnumerable(Of ParameterExpression)) As LambdaExpression

Параметры

body
Expression

Объект Expression, который следует задать в качестве значения свойства Body.An Expression to set the Body property equal to.

name
String

Имя для лямбда-функции.The name for the lambda. Используется для выпуска сведений об отладке.Used for emitting debug information.

parameters
IEnumerable<ParameterExpression>

IEnumerable<T>, содержащий все объекты ParameterExpression, используемые для заполнения коллекции Parameters.An IEnumerable<T> that contains ParameterExpression objects to use to populate the Parameters collection.

Возвраты

Выражение LambdaExpression, у которого свойство NodeType равняется лямбда-выражению, а для свойств Body и Parameters заданы указанные значения.A LambdaExpression that has the NodeType property equal to Lambda and the Body and Parameters properties set to the specified values.

Lambda(Expression, Boolean, ParameterExpression[])

Создает LambdaExpression, создавая сначала тип делегата из тела выражения, параметр, указывающий, следует ли использовать оптимизацию вызовов с префиксом tail, а также массив выражений параметров.Creates a LambdaExpression by first constructing a delegate type from the expression body, a parameter that indicates whether tail call optimization will be applied, and an array of parameter expressions. Он может использоваться, если тип делегата неизвестен в момент компиляции.It can be used when the delegate type is not known at compile time.

public:
 static System::Linq::Expressions::LambdaExpression ^ Lambda(System::Linq::Expressions::Expression ^ body, bool tailCall, ... cli::array <System::Linq::Expressions::ParameterExpression ^> ^ parameters);
public static System.Linq.Expressions.LambdaExpression Lambda (System.Linq.Expressions.Expression body, bool tailCall, params System.Linq.Expressions.ParameterExpression[] parameters);
static member Lambda : System.Linq.Expressions.Expression * bool * System.Linq.Expressions.ParameterExpression[] -> System.Linq.Expressions.LambdaExpression
Public Shared Function Lambda (body As Expression, tailCall As Boolean, ParamArray parameters As ParameterExpression()) As LambdaExpression

Параметры

body
Expression

Объект Expression, который следует задать в качестве значения свойства Body.An Expression to set the Body property equal to.

tailCall
Boolean

Значение Boolean, которое указывает, следует ли использовать оптимизацию вызовов с префиксом tail при компиляции созданного выражения.A Boolean that indicates if tail call optimization will be applied when compiling the created expression.

parameters
ParameterExpression[]

Массив, содержащий объекты ParameterExpression, используемые для заполнения коллекции Parameters.An array that contains ParameterExpression objects to use to populate the Parameters collection.

Возвраты

Выражение LambdaExpression, у которого свойство NodeType равняется лямбда-выражению, а для свойств Body и Parameters заданы указанные значения.A LambdaExpression that has the NodeType property equal to Lambda and the Body and Parameters properties set to the specified values.

Lambda(Expression, Boolean, IEnumerable<ParameterExpression>)

Создает LambdaExpression, создавая сначала тип делегата из тела выражения, параметр, указывающий, следует ли использовать оптимизацию вызовов с префиксом tail, а также перечисляемую коллекцию выражений параметров.Creates a LambdaExpression by first constructing a delegate type from the expression body, a parameter that indicates whether tail call optimization will be applied, and an enumerable collection of parameter expressions. Он может использоваться, если тип делегата неизвестен в момент компиляции.It can be used when the delegate type is not known at compile time.

public:
 static System::Linq::Expressions::LambdaExpression ^ Lambda(System::Linq::Expressions::Expression ^ body, bool tailCall, System::Collections::Generic::IEnumerable<System::Linq::Expressions::ParameterExpression ^> ^ parameters);
public static System.Linq.Expressions.LambdaExpression Lambda (System.Linq.Expressions.Expression body, bool tailCall, System.Collections.Generic.IEnumerable<System.Linq.Expressions.ParameterExpression> parameters);
static member Lambda : System.Linq.Expressions.Expression * bool * seq<System.Linq.Expressions.ParameterExpression> -> System.Linq.Expressions.LambdaExpression
Public Shared Function Lambda (body As Expression, tailCall As Boolean, parameters As IEnumerable(Of ParameterExpression)) As LambdaExpression

Параметры

body
Expression

Объект Expression, который следует задать в качестве значения свойства Body.An Expression to set the Body property equal to.

tailCall
Boolean

Значение Boolean, которое указывает, следует ли использовать оптимизацию вызовов с префиксом tail при компиляции созданного выражения.A Boolean that indicates if tail call optimization will be applied when compiling the created expression.

parameters
IEnumerable<ParameterExpression>

IEnumerable<T>, содержащий все объекты ParameterExpression, используемые для заполнения коллекции Parameters.An IEnumerable<T> that contains ParameterExpression objects to use to populate the Parameters collection.

Возвраты

Выражение LambdaExpression, у которого свойство NodeType равняется лямбда-выражению, а для свойств Body и Parameters заданы указанные значения.A LambdaExpression that has the NodeType property equal to Lambda and the Body and Parameters properties set to the specified values.

Lambda(Type, Expression, IEnumerable<ParameterExpression>)

Создает LambdaExpression, в котором тип делегата известен во время компиляции, с перечисляемой коллекцией выражений параметров.Creates a LambdaExpression where the delegate type is known at compile time, with an enumerable collection of parameter expressions.

public:
 static System::Linq::Expressions::LambdaExpression ^ Lambda(Type ^ delegateType, System::Linq::Expressions::Expression ^ body, System::Collections::Generic::IEnumerable<System::Linq::Expressions::ParameterExpression ^> ^ parameters);
public static System.Linq.Expressions.LambdaExpression Lambda (Type delegateType, System.Linq.Expressions.Expression body, System.Collections.Generic.IEnumerable<System.Linq.Expressions.ParameterExpression> parameters);
static member Lambda : Type * System.Linq.Expressions.Expression * seq<System.Linq.Expressions.ParameterExpression> -> System.Linq.Expressions.LambdaExpression
Public Shared Function Lambda (delegateType As Type, body As Expression, parameters As IEnumerable(Of ParameterExpression)) As LambdaExpression

Параметры

delegateType
Type

Тип Type, представляющий сигнатуру делегата для лямбда-выражения.A Type that represents a delegate signature for the lambda.

body
Expression

Объект Expression, который следует задать в качестве значения свойства Body.An Expression to set the Body property equal to.

parameters
IEnumerable<ParameterExpression>

IEnumerable<T>, содержащий все объекты ParameterExpression, используемые для заполнения коллекции Parameters.An IEnumerable<T> that contains ParameterExpression objects to use to populate the Parameters collection.

Возвраты

Объект, представляющий лямбда-выражение со свойством NodeType, равным Lambda и Body, и свойства Parameters, для которых заданы указанные значения.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.

Исключения

Значение параметра delegateType или bodynull.delegateType or body is null.

-или--or- Один или несколько элементов в parameters имеют значение null.One or more elements in parameters are null.

Тип delegateType не представляет тип делегата.delegateType does not represent a delegate type.

-или--or- Тип body.Type представляет тип, который не может быть назначен для типа возврата типа делегата, представленного delegateType.body.Type represents a type that is not assignable to the return type of the delegate type represented by delegateType.

- или --or- parameters не содержит количество элементов, равное количеству списка параметров для типа делегата, представленного delegateType.parameters does not contain the same number of elements as the list of parameters for the delegate type represented by delegateType.

- или --or- Свойство Type элемента parameters нельзя назначить от типа соответствующего типа параметра типа делегата, представленного через 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.

Примеры

В следующем примере показано, как создать выражение, представляющее лямбда-выражение, которое добавляет 1 к переданному аргументу.The following example demonstrates how to create an expression that represents a lambda expression that adds 1 to the passed argument.

// Add the following directive to your file:
// using System.Linq.Expressions;  

// A parameter for the lambda expression.
ParameterExpression paramExpr = Expression.Parameter(typeof(int), "arg");

// This expression represents a lambda expression
// that adds 1 to the parameter value.
LambdaExpression lambdaExpr = Expression.Lambda(
    Expression.Add(
        paramExpr,
        Expression.Constant(1)
    ),
    new List<ParameterExpression>() { paramExpr }
);

// Print out the expression.
Console.WriteLine(lambdaExpr);

// Compile and run the lamda expression.
// The value of the parameter is 1.
Console.WriteLine(lambdaExpr.Compile().DynamicInvoke(1));

// This code example produces the following output:
//
// arg => (arg +1)
// 2
' Add the following directive to your file:
' Imports System.Linq.Expressions  

' A parameter for the lambda expression.
Dim paramExpr As ParameterExpression = Expression.Parameter(GetType(Integer), "arg")

' This expression represents a lambda expression
' that adds 1 to the parameter value.
Dim lambdaExpr As LambdaExpression = Expression.Lambda(
        Expression.Add(
            paramExpr,
            Expression.Constant(1)
        ),
        New List(Of ParameterExpression)() From {paramExpr}
    )

' Print out the expression.
Console.WriteLine(lambdaExpr)

' Compile and run the lamda expression.
' The value of the parameter is 1.
Console.WriteLine(lambdaExpr.Compile().DynamicInvoke(1))

' This code example produces the following output:
'
' arg => (arg +1)
' 2

Комментарии

Объект, возвращаемый этой функцией, имеет тип Expression<TDelegate>.The object that is returned from this function is of type Expression<TDelegate>. LambdaExpression Тип используется для представления возвращаемого объекта, так как конкретный тип лямбда-выражения неизвестен во время компиляции.The LambdaExpression type is used to represent the returned object because the concrete type of the lambda expression is not known at compile time.

Число параметров для типа делегата, представленного,delegateType должно равняться parametersдлине.The number of parameters for the delegate type represented bydelegateType must equal the length of parameters.

Элементы класса parameters должны быть ссылочными, равными выражениям параметров bodyв.The elements of parameters must be reference equal to the parameter expressions in body.

Свойство полученного объекта delegateTypeравно. TypeThe Type property of the resulting object is equal to delegateType. Если parameters имеет nullзначение ,Parameters свойство полученного объекта является пустой коллекцией.If parameters is null, the Parameters property of the resulting object is an empty collection.

Lambda(Expression, ParameterExpression[])

Создает LambdaExpression, создавая сначала тип делегата из тела выражения и массив выражений параметров.Creates a LambdaExpression by first constructing a delegate type from the expression body, and an array of parameter expressions. Он может использоваться, если тип делегата неизвестен в момент компиляции.It can be used when the delegate type is not known at compile time.

public:
 static System::Linq::Expressions::LambdaExpression ^ Lambda(System::Linq::Expressions::Expression ^ body, ... cli::array <System::Linq::Expressions::ParameterExpression ^> ^ parameters);
public static System.Linq.Expressions.LambdaExpression Lambda (System.Linq.Expressions.Expression body, params System.Linq.Expressions.ParameterExpression[] parameters);
static member Lambda : System.Linq.Expressions.Expression * System.Linq.Expressions.ParameterExpression[] -> System.Linq.Expressions.LambdaExpression
Public Shared Function Lambda (body As Expression, ParamArray parameters As ParameterExpression()) As LambdaExpression

Параметры

body
Expression

Объект Expression, который следует задать в качестве значения свойства Body.An Expression to set the Body property equal to.

parameters
ParameterExpression[]

Массив объектов ParameterExpression для заполнения коллекции Parameters.An array of ParameterExpression objects to use to populate the Parameters collection.

Возвраты

Выражение LambdaExpression со свойствомNodeType, равным Lambda, и свойствами Body и Parameters, для которых заданы указанные значения.A LambdaExpression that has the NodeType property equal to Lambda and the Body and Parameters properties set to the specified values.

Исключения

bodynull.body is null.

-или--or- Один или несколько элементов parameters имеют значение null.One or more elements of parameters are null.

Параметр parameters содержит более шестнадцати элементов.parameters contains more than sixteen elements.

Комментарии

parameters Параметр не должен содержать более шестнадцати элементов.The parameters parameter must not have more than sixteen elements.

Элементы класса parameters должны быть ссылочными, равными выражениям параметров bodyв.The elements of parameters must be reference equal to the parameter expressions in body.

Этот метод конструирует соответствующий тип делегата от одного из System.Func универсальных делегатов.This method constructs an appropriate delegate type from one of the System.Func generic delegates. Затем тип делегата передается одному из Lambda методов фабрики для LambdaExpressionсоздания.It then passes the delegate type to one of the Lambda factory methods to create a LambdaExpression.

Lambda(Expression, IEnumerable<ParameterExpression>)

Создает LambdaExpression, создавая сначала тип делегата из тела выражения и перечисляемую коллекцию выражений параметров.Creates a LambdaExpression by first constructing a delegate type from the expression body, and an enumerable collection of parameter expressions. Он может использоваться, если тип делегата неизвестен в момент компиляции.It can be used when the delegate type is not known at compile time.

public:
 static System::Linq::Expressions::LambdaExpression ^ Lambda(System::Linq::Expressions::Expression ^ body, System::Collections::Generic::IEnumerable<System::Linq::Expressions::ParameterExpression ^> ^ parameters);
public static System.Linq.Expressions.LambdaExpression Lambda (System.Linq.Expressions.Expression body, System.Collections.Generic.IEnumerable<System.Linq.Expressions.ParameterExpression> parameters);
static member Lambda : System.Linq.Expressions.Expression * seq<System.Linq.Expressions.ParameterExpression> -> System.Linq.Expressions.LambdaExpression
Public Shared Function Lambda (body As Expression, parameters As IEnumerable(Of ParameterExpression)) As LambdaExpression

Параметры

body
Expression

Объект Expression, который следует задать в качестве значения свойства Body.An Expression to set the Body property equal to.

parameters
IEnumerable<ParameterExpression>

IEnumerable<T>, содержащий все объекты ParameterExpression, используемые для заполнения коллекции Parameters.An IEnumerable<T> that contains ParameterExpression objects to use to populate the Parameters collection.

Возвраты

Выражение LambdaExpression, у которого свойство NodeType равняется лямбда-выражению, а для свойств Body и Parameters заданы указанные значения.A LambdaExpression that has the NodeType property equal to Lambda and the Body and Parameters properties set to the specified values.

Lambda<TDelegate>(Expression, String, IEnumerable<ParameterExpression>)

Создает Expression<TDelegate>, в котором тип делегата известен во время компиляции, с именем для лямбда-функции и перечисляемой коллекцией выражений параметров.Creates an Expression<TDelegate> where the delegate type is known at compile time, with the name for the lambda, and an enumerable collection of parameter expressions.

public:
generic <typename TDelegate>
 static System::Linq::Expressions::Expression<TDelegate> ^ Lambda(System::Linq::Expressions::Expression ^ body, System::String ^ name, System::Collections::Generic::IEnumerable<System::Linq::Expressions::ParameterExpression ^> ^ parameters);
public static System.Linq.Expressions.Expression<TDelegate> Lambda<TDelegate> (System.Linq.Expressions.Expression body, string name, System.Collections.Generic.IEnumerable<System.Linq.Expressions.ParameterExpression> parameters);
static member Lambda : System.Linq.Expressions.Expression * string * seq<System.Linq.Expressions.ParameterExpression> -> System.Linq.Expressions.Expression<'Delegate>
Public Shared Function Lambda(Of TDelegate) (body As Expression, name As String, parameters As IEnumerable(Of ParameterExpression)) As Expression(Of TDelegate)

Параметры типа

TDelegate

Тип делегата.The delegate type.

Параметры

body
Expression

Объект Expression, который следует задать в качестве значения свойства Body.An Expression to set the Body property equal to.

name
String

Имя лямбда-выражения.The name of the lambda. Используется для создания сведений об отладке.Used for generating debugging information.

parameters
IEnumerable<ParameterExpression>

IEnumerable<T>, содержащий все объекты ParameterExpression, используемые для заполнения коллекции Parameters.An IEnumerable<T> that contains ParameterExpression objects to use to populate the Parameters collection.

Возвраты

Выражение Expression<TDelegate>, содержащее свойство NodeType, равное Lambda, а также свойства Body и Parameters, для которых заданы указанные значения.An Expression<TDelegate> that has the NodeType property equal to Lambda and the Body and Parameters properties set to the specified values.

Lambda<TDelegate>(Expression, Boolean, ParameterExpression[])

Создает Expression<TDelegate>, в котором тип делегата известен во время компиляции, с параметром, указывающим, следует ли использовать оптимизацию вызовов с префиксом tail и массивом выражений параметров.Creates an Expression<TDelegate> where the delegate type is known at compile time, with a parameter that indicates whether tail call optimization will be applied, and an array of parameter expressions.

public:
generic <typename TDelegate>
 static System::Linq::Expressions::Expression<TDelegate> ^ Lambda(System::Linq::Expressions::Expression ^ body, bool tailCall, ... cli::array <System::Linq::Expressions::ParameterExpression ^> ^ parameters);
public static System.Linq.Expressions.Expression<TDelegate> Lambda<TDelegate> (System.Linq.Expressions.Expression body, bool tailCall, params System.Linq.Expressions.ParameterExpression[] parameters);
static member Lambda : System.Linq.Expressions.Expression * bool * System.Linq.Expressions.ParameterExpression[] -> System.Linq.Expressions.Expression<'Delegate>
Public Shared Function Lambda(Of TDelegate) (body As Expression, tailCall As Boolean, ParamArray parameters As ParameterExpression()) As Expression(Of TDelegate)

Параметры типа

TDelegate

Тип делегата.The delegate type.

Параметры

body
Expression

Объект Expression, который следует задать в качестве значения свойства Body.An Expression to set the Body property equal to.

tailCall
Boolean

Значение Boolean, которое указывает, следует ли использовать оптимизацию вызовов с префиксом tail при компиляции созданного выражения.A Boolean that indicates if tail call optimization will be applied when compiling the created expression.

parameters
ParameterExpression[]

Массив, содержащий объекты ParameterExpression, используемые для заполнения коллекции Parameters.An array that contains ParameterExpression objects to use to populate the Parameters collection.

Возвраты

Выражение Expression<TDelegate>, содержащее свойство NodeType, равное Lambda, а также свойства Body и Parameters, для которых заданы указанные значения.An Expression<TDelegate> that has the NodeType property equal to Lambda and the Body and Parameters properties set to the specified values.

Lambda<TDelegate>(Expression, String, Boolean, IEnumerable<ParameterExpression>)

Создает Expression<TDelegate>, в котором тип делегата известен во время компиляции, с именем для лямбда-функции, параметром, указывающим, следует ли использовать оптимизацию вызовов с префиксом tail и перечисляемой коллекцией выражений параметров.Creates an Expression<TDelegate> where the delegate type is known at compile time, with the name for the lambda, a parameter that indicates whether tail call optimization will be applied, and an enumerable collection of parameter expressions.

public:
generic <typename TDelegate>
 static System::Linq::Expressions::Expression<TDelegate> ^ Lambda(System::Linq::Expressions::Expression ^ body, System::String ^ name, bool tailCall, System::Collections::Generic::IEnumerable<System::Linq::Expressions::ParameterExpression ^> ^ parameters);
public static System.Linq.Expressions.Expression<TDelegate> Lambda<TDelegate> (System.Linq.Expressions.Expression body, string name, bool tailCall, System.Collections.Generic.IEnumerable<System.Linq.Expressions.ParameterExpression> parameters);
static member Lambda : System.Linq.Expressions.Expression * string * bool * seq<System.Linq.Expressions.ParameterExpression> -> System.Linq.Expressions.Expression<'Delegate>
Public Shared Function Lambda(Of TDelegate) (body As Expression, name As String, tailCall As Boolean, parameters As IEnumerable(Of ParameterExpression)) As Expression(Of TDelegate)

Параметры типа

TDelegate

Тип делегата.The delegate type.

Параметры

body
Expression

Объект Expression, который следует задать в качестве значения свойства Body.An Expression to set the Body property equal to.

name
String

Имя лямбда-выражения.The name of the lambda. Используется для создания сведений об отладке.Used for generating debugging info.

tailCall
Boolean

Значение Boolean, которое указывает, следует ли использовать оптимизацию вызовов с префиксом tail при компиляции созданного выражения.A Boolean that indicates if tail call optimization will be applied when compiling the created expression.

parameters
IEnumerable<ParameterExpression>

IEnumerable<T>, содержащий все объекты ParameterExpression, используемые для заполнения коллекции Parameters.An IEnumerable<T> that contains ParameterExpression objects to use to populate the Parameters collection.

Возвраты

Выражение Expression<TDelegate>, содержащее свойство NodeType, равное Lambda, а также свойства Body и Parameters, для которых заданы указанные значения.An Expression<TDelegate> that has the NodeType property equal to Lambda and the Body and Parameters properties set to the specified values.

Lambda<TDelegate>(Expression, ParameterExpression[])

Создает Expression<TDelegate>, в котором тип делегата известен во время компиляции, с массивом выражений параметров.Creates an Expression<TDelegate> where the delegate type is known at compile time, with an array of parameter expressions.

public:
generic <typename TDelegate>
 static System::Linq::Expressions::Expression<TDelegate> ^ Lambda(System::Linq::Expressions::Expression ^ body, ... cli::array <System::Linq::Expressions::ParameterExpression ^> ^ parameters);
public static System.Linq.Expressions.Expression<TDelegate> Lambda<TDelegate> (System.Linq.Expressions.Expression body, params System.Linq.Expressions.ParameterExpression[] parameters);
static member Lambda : System.Linq.Expressions.Expression * System.Linq.Expressions.ParameterExpression[] -> System.Linq.Expressions.Expression<'Delegate>
Public Shared Function Lambda(Of TDelegate) (body As Expression, ParamArray parameters As ParameterExpression()) As Expression(Of TDelegate)

Параметры типа

TDelegate

Тип делегата.A delegate type.

Параметры

body
Expression

Объект Expression, который следует задать в качестве значения свойства Body.An Expression to set the Body property equal to.

parameters
ParameterExpression[]

Массив объектов ParameterExpression для заполнения коллекции Parameters.An array of ParameterExpression objects to use to populate the Parameters collection.

Возвраты

Выражение Expression<TDelegate>, содержащее свойство NodeType, равное Lambda, а также свойства Body и Parameters, для которых заданы указанные значения.An Expression<TDelegate> that has the NodeType property equal to Lambda and the Body and Parameters properties set to the specified values.

Исключения

Свойство body имеет значение null.body is null.

- или --or- Один или несколько элементов в parameters имеют значение null.One or more elements in parameters are null.

Элемент TDelegate не является типом делегата.TDelegate is not a delegate type.

- или --or- Тип body.Type представляет тип, который не может быть назначен для типа возврата параметра TDelegate.body.Type represents a type that is not assignable to the return type of TDelegate.

- или --or- parameters не содержит количество элементов, равное количеству списка параметров для TDelegate.parameters does not contain the same number of elements as the list of parameters for TDelegate.

-или--or- Свойство Type элемента parameters нельзя назначить из типа соответствующего параметра TDelegate.The Type property of an element of parameters is not assignable from the type of the corresponding parameter type of TDelegate.

Комментарии

Число параметров для типа TDelegate делегата должно равняться числу элементов в. parametersThe number of parameters for the delegate type TDelegate must equal the number of elements in parameters.

Элементы класса parameters должны быть ссылочными, равными выражениям параметровbodyв.The elements of parameters must be reference equal to the parameter expressions inbody.

Свойство полученного объекта представляет тип TDelegate. TypeThe Type property of the resulting object represents the type TDelegate. Если parameters имеет nullзначение ,Parameters свойство полученного объекта является пустой коллекцией.If parameters is null, the Parameters property of the resulting object is an empty collection.

Lambda<TDelegate>(Expression, IEnumerable<ParameterExpression>)

Создает Expression<TDelegate>, в котором тип делегата известен во время компиляции, с перечисляемой коллекцией выражений параметров.Creates an Expression<TDelegate> where the delegate type is known at compile time, with an enumerable collection of parameter expressions.

public:
generic <typename TDelegate>
 static System::Linq::Expressions::Expression<TDelegate> ^ Lambda(System::Linq::Expressions::Expression ^ body, System::Collections::Generic::IEnumerable<System::Linq::Expressions::ParameterExpression ^> ^ parameters);
public static System.Linq.Expressions.Expression<TDelegate> Lambda<TDelegate> (System.Linq.Expressions.Expression body, System.Collections.Generic.IEnumerable<System.Linq.Expressions.ParameterExpression> parameters);
static member Lambda : System.Linq.Expressions.Expression * seq<System.Linq.Expressions.ParameterExpression> -> System.Linq.Expressions.Expression<'Delegate>
Public Shared Function Lambda(Of TDelegate) (body As Expression, parameters As IEnumerable(Of ParameterExpression)) As Expression(Of TDelegate)

Параметры типа

TDelegate

Тип делегата.A delegate type.

Параметры

body
Expression

Объект Expression, который следует задать в качестве значения свойства Body.An Expression to set the Body property equal to.

parameters
IEnumerable<ParameterExpression>

IEnumerable<T>, содержащий все объекты ParameterExpression, используемые для заполнения коллекции Parameters.An IEnumerable<T> that contains ParameterExpression objects to use to populate the Parameters collection.

Возвраты

Выражение Expression<TDelegate>, содержащее свойство NodeType, равное Lambda, а также свойства Body и Parameters, для которых заданы указанные значения.An Expression<TDelegate> that has the NodeType property equal to Lambda and the Body and Parameters properties set to the specified values.

Исключения

Свойство body имеет значение null.body is null.

- или --or- Один или несколько элементов в parameters имеют значение null.One or more elements in parameters are null.

Элемент TDelegate не является типом делегата.TDelegate is not a delegate type.

- или --or- Тип body.Type представляет тип, который не может быть назначен для типа возврата параметра TDelegate.body.Type represents a type that is not assignable to the return type of TDelegate.

- или --or- parameters не содержит количество элементов, равное количеству списка параметров для TDelegate.parameters does not contain the same number of elements as the list of parameters for TDelegate.

- или --or- Свойство Type элемента parameters нельзя назначить из типа соответствующего параметра TDelegate.The Type property of an element of parameters is not assignable from the type of the corresponding parameter type of TDelegate.

Комментарии

Число параметров для типа TDelegate делегата должно равняться числу элементов в. parametersThe number of parameters for the delegate type TDelegate must equal the number of elements in parameters.

Элементы класса parameters должны быть ссылочными, равными выражениям параметров bodyв.The elements of parameters must be reference equal to the parameter expressions in body.

Свойство полученного объекта представляет тип TDelegate. TypeThe Type property of the resulting object represents the type TDelegate. Если parameters имеет nullзначение ,Parameters свойство полученного объекта является пустой коллекцией.If parameters is null, the Parameters property of the resulting object is an empty collection.

Lambda<TDelegate>(Expression, Boolean, IEnumerable<ParameterExpression>)

Создает Expression<TDelegate>, в котором тип делегата известен во время компиляции, с параметром, указывающим, следует ли использовать оптимизацию вызовов с префиксом tail и перечисляемой коллекцией выражений параметров.Creates an Expression<TDelegate> where the delegate type is known at compile time, with a parameter that indicates whether tail call optimization will be applied, and an enumerable collection of parameter expressions.

public:
generic <typename TDelegate>
 static System::Linq::Expressions::Expression<TDelegate> ^ Lambda(System::Linq::Expressions::Expression ^ body, bool tailCall, System::Collections::Generic::IEnumerable<System::Linq::Expressions::ParameterExpression ^> ^ parameters);
public static System.Linq.Expressions.Expression<TDelegate> Lambda<TDelegate> (System.Linq.Expressions.Expression body, bool tailCall, System.Collections.Generic.IEnumerable<System.Linq.Expressions.ParameterExpression> parameters);
static member Lambda : System.Linq.Expressions.Expression * bool * seq<System.Linq.Expressions.ParameterExpression> -> System.Linq.Expressions.Expression<'Delegate>
Public Shared Function Lambda(Of TDelegate) (body As Expression, tailCall As Boolean, parameters As IEnumerable(Of ParameterExpression)) As Expression(Of TDelegate)

Параметры типа

TDelegate

Тип делегата.The delegate type.

Параметры

body
Expression

Объект Expression, который следует задать в качестве значения свойства Body.An Expression to set the Body property equal to.

tailCall
Boolean

Значение Boolean, которое указывает, следует ли использовать оптимизацию вызовов с префиксом tail при компиляции созданного выражения.A Boolean that indicates if tail call optimization will be applied when compiling the created expression.

parameters
IEnumerable<ParameterExpression>

IEnumerable<T>, содержащий все объекты ParameterExpression, используемые для заполнения коллекции Parameters.An IEnumerable<T> that contains ParameterExpression objects to use to populate the Parameters collection.

Возвраты

Выражение Expression<TDelegate>, содержащее свойство NodeType, равное Lambda, а также свойства Body и Parameters, для которых заданы указанные значения.An Expression<TDelegate> that has the NodeType property equal to Lambda and the Body and Parameters properties set to the specified values.

Применяется к