Expression.Lambda Método
Definição
Uma árvore de expressão que representa uma expressão lambda.Creates an expression tree that represents a lambda expression.
Sobrecargas
| Lambda(Type, Expression, String, Boolean, IEnumerable<ParameterExpression>) |
Cria um LambdaExpression em que o tipo delegado é conhecido no tempo de compilação, com o nome do lambda, um parâmetro que indica se a otimização da parte final da chamada será aplicada e uma coleção enumerável de expressões de parâmetro.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>) |
Cria um LambdaExpression em que o tipo delegado é conhecido no tempo de compilação, com o nome do lambda e uma coleção enumerável de expressões de parâmetro.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>) |
Cria um LambdaExpression em que o tipo delegado é conhecido no tempo de compilação, com um parâmetro que indica se a otimização da parte final da chamada será aplicada e uma coleção enumerável de expressões de parâmetro.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>) |
Cria um LambdaExpression construindo primeiro um tipo delegado do corpo da expressão, o nome do lambda, um parâmetro que indica se a otimização da parte final da chamada será aplicada e uma coleção enumerável de expressões de parâmetro.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. Ele pode ser usado quando o tipo de delegado não é conhecido em tempo de compilação.It can be used when the delegate type is not known at compile time. |
| Lambda(Type, Expression, ParameterExpression[]) |
Cria um LambdaExpression em que o tipo delegado é conhecido no tempo de compilação, com uma matriz de expressões de parâmetro.Creates a LambdaExpression where the delegate type is known at compile time, with an array of parameter expressions. |
| Lambda(Type, Expression, Boolean, ParameterExpression[]) |
Cria um LambdaExpression em que o tipo delegado é conhecido no tempo de compilação, com um parâmetro que indica se a otimização da parte final da chamada será aplicada e uma matriz de expressões de parâmetro.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>) |
Cria um LambdaExpression construindo primeiro um tipo delegado do corpo da expressão, o nome do lambda e uma coleção enumerável de expressões de parâmetro.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. Ele pode ser usado quando o tipo de delegado não é conhecido em tempo de compilação.It can be used when the delegate type is not known at compile time. |
| Lambda(Expression, Boolean, ParameterExpression[]) |
Cria um LambdaExpression construindo primeiro um tipo delegado do corpo da expressão, um parâmetro que indica se a otimização da parte final da chamada será aplicada e uma matriz de expressões de parâmetro.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. Ele pode ser usado quando o tipo de delegado não é conhecido em tempo de compilação.It can be used when the delegate type is not known at compile time. |
| Lambda(Expression, Boolean, IEnumerable<ParameterExpression>) |
Cria um LambdaExpression construindo primeiro um tipo delegado do corpo da expressão, um parâmetro que indica se a otimização da parte final da chamada será aplicada e uma coleção enumerável de expressões de parâmetro.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. Ele pode ser usado quando o tipo de delegado não é conhecido em tempo de compilação.It can be used when the delegate type is not known at compile time. |
| Lambda(Type, Expression, IEnumerable<ParameterExpression>) |
Cria um LambdaExpression em que o tipo delegado é conhecido no tempo de compilação, com uma coleção enumerável de expressões de parâmetro.Creates a LambdaExpression where the delegate type is known at compile time, with an enumerable collection of parameter expressions. |
| Lambda(Expression, ParameterExpression[]) |
Cria um LambdaExpression construindo primeiro um tipo delegado do corpo da expressão e uma matriz de expressões de parâmetro.Creates a LambdaExpression by first constructing a delegate type from the expression body, and an array of parameter expressions. Ele pode ser usado quando o tipo de delegado não é conhecido em tempo de compilação.It can be used when the delegate type is not known at compile time. |
| Lambda(Expression, IEnumerable<ParameterExpression>) |
Cria um LambdaExpression construindo primeiro um tipo delegado do corpo da expressão e uma coleção enumerável de expressões de parâmetro.Creates a LambdaExpression by first constructing a delegate type from the expression body, and an enumerable collection of parameter expressions. Ele pode ser usado quando o tipo de delegado não é conhecido em tempo de compilação.It can be used when the delegate type is not known at compile time. |
| Lambda<TDelegate>(Expression, String, IEnumerable<ParameterExpression>) |
Cria um Expression<TDelegate> em que o tipo delegado é conhecido no tempo de compilação, com o nome do lambda e uma coleção enumerável de expressões de parâmetro.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[]) |
Cria um Expression<TDelegate> em que o tipo delegado é conhecido no tempo de compilação, com um parâmetro que indica se a otimização da parte final da chamada será aplicada e uma matriz de expressões de parâmetro.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>) |
Cria um Expression<TDelegate> em que o tipo delegado é conhecido no tempo de compilação, com o nome do lambda, um parâmetro que indica se a otimização da parte final da chamada será aplicada e uma coleção enumerável de expressões de parâmetro.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[]) |
Cria um Expression<TDelegate> em que o tipo delegado é conhecido no tempo de compilação, com uma matriz de expressões de parâmetro.Creates an Expression<TDelegate> where the delegate type is known at compile time, with an array of parameter expressions. |
| Lambda<TDelegate>(Expression, IEnumerable<ParameterExpression>) |
Cria um Expression<TDelegate> em que o tipo delegado é conhecido no tempo de compilação, com uma coleção enumerável de expressões de parâmetro.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>) |
Cria um Expression<TDelegate> em que o tipo delegado é conhecido no tempo de compilação, com um parâmetro que indica se a otimização da parte final da chamada será aplicada e uma coleção enumerável de expressões de parâmetro.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>)
Cria um LambdaExpression em que o tipo delegado é conhecido no tempo de compilação, com o nome do lambda, um parâmetro que indica se a otimização da parte final da chamada será aplicada e uma coleção enumerável de expressões de parâmetro.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);
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
Parâmetros
- delegateType
- Type
Um Type que representa a assinatura de delegado para o lambda.A Type representing the delegate signature for the lambda.
- body
- Expression
Um Expression para definir a propriedade Body igual a ele.An Expression to set the Body property equal to.
- name
- String
O nome para o lambda.The name for the lambda. Usada para emitir informações de depuração.Used for emitting debug information.
- tailCall
- Boolean
Um Boolean que indica se a otimização de chamada final será aplicada ao compilar a expressão criada.A Boolean that indicates if tail call optimization will be applied when compiling the created expression.
- parameters
- IEnumerable<ParameterExpression>
Um IEnumerable<T> que contém objetos ParameterExpression a serem usados para preencher a coleção de Parameters.An IEnumerable<T> that contains ParameterExpression objects to use to populate the Parameters collection.
Retornos
Um LambdaExpression que tem a propriedade NodeType igual a Lambda e as propriedades Body e Parameters definidas com os valores especificados.A LambdaExpression that has the NodeType property equal to Lambda and the Body and Parameters properties set to the specified values.
Aplica-se a
Lambda(Type, Expression, String, IEnumerable<ParameterExpression>)
Cria um LambdaExpression em que o tipo delegado é conhecido no tempo de compilação, com o nome do lambda e uma coleção enumerável de expressões de parâmetro.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);
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
Parâmetros
- delegateType
- Type
Um Type que representa a assinatura de delegado para o lambda.A Type representing the delegate signature for the lambda.
- body
- Expression
Um Expression para definir a propriedade Body igual a ele.An Expression to set the Body property equal to.
- name
- String
O nome para o lambda.The name for the lambda. Usada para emitir informações de depuração.Used for emitting debug information.
- parameters
- IEnumerable<ParameterExpression>
Um IEnumerable<T> que contém objetos ParameterExpression a serem usados para preencher a coleção de Parameters.An IEnumerable<T> that contains ParameterExpression objects to use to populate the Parameters collection.
Retornos
Um LambdaExpression que tem a propriedade NodeType igual a Lambda e as propriedades Body e Parameters definidas com os valores especificados.A LambdaExpression that has the NodeType property equal to Lambda and the Body and Parameters properties set to the specified values.
Aplica-se a
Lambda(Type, Expression, Boolean, IEnumerable<ParameterExpression>)
Cria um LambdaExpression em que o tipo delegado é conhecido no tempo de compilação, com um parâmetro que indica se a otimização da parte final da chamada será aplicada e uma coleção enumerável de expressões de parâmetro.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);
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
Parâmetros
- delegateType
- Type
Um Type que representa a assinatura de delegado para o lambda.A Type representing the delegate signature for the lambda.
- body
- Expression
Um Expression para definir a propriedade Body igual a ele.An Expression to set the Body property equal to.
- tailCall
- Boolean
Um Boolean que indica se a otimização de chamada final será aplicada ao compilar a expressão criada.A Boolean that indicates if tail call optimization will be applied when compiling the created expression.
- parameters
- IEnumerable<ParameterExpression>
Um IEnumerable<T> que contém objetos ParameterExpression a serem usados para preencher a coleção de Parameters.An IEnumerable<T> that contains ParameterExpression objects to use to populate the Parameters collection.
Retornos
Um LambdaExpression que tem a propriedade NodeType igual a Lambda e as propriedades Body e Parameters definidas com os valores especificados.A LambdaExpression that has the NodeType property equal to Lambda and the Body and Parameters properties set to the specified values.
Aplica-se a
Lambda(Expression, String, Boolean, IEnumerable<ParameterExpression>)
Cria um LambdaExpression construindo primeiro um tipo delegado do corpo da expressão, o nome do lambda, um parâmetro que indica se a otimização da parte final da chamada será aplicada e uma coleção enumerável de expressões de parâmetro.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. Ele pode ser usado quando o tipo de delegado não é conhecido em tempo de compilação.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);
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
Parâmetros
- body
- Expression
Um Expression para definir a propriedade Body igual a ele.An Expression to set the Body property equal to.
- name
- String
O nome para o lambda.The name for the lambda. Usada para emitir informações de depuração.Used for emitting debug information.
- tailCall
- Boolean
Um Boolean que indica se a otimização de chamada final será aplicada ao compilar a expressão criada.A Boolean that indicates if tail call optimization will be applied when compiling the created expression.
- parameters
- IEnumerable<ParameterExpression>
Um IEnumerable<T> que contém objetos ParameterExpression a serem usados para preencher a coleção de Parameters.An IEnumerable<T> that contains ParameterExpression objects to use to populate the Parameters collection.
Retornos
Um LambdaExpression que tem a propriedade NodeType igual a Lambda e as propriedades Body e Parameters definidas com os valores especificados.A LambdaExpression that has the NodeType property equal to Lambda and the Body and Parameters properties set to the specified values.
Aplica-se a
Lambda(Type, Expression, ParameterExpression[])
Cria um LambdaExpression em que o tipo delegado é conhecido no tempo de compilação, com uma matriz de expressões de parâmetro.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);
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
Parâmetros
- delegateType
- Type
Um Type que representa uma assinatura de delegado para lambda.A Type that represents a delegate signature for the lambda.
- body
- Expression
Um Expression para definir a propriedade Body igual a ele.An Expression to set the Body property equal to.
- parameters
- ParameterExpression[]
Uma matriz de objetos ParameterExpression a serem usados para popular a coleção de Parameters.An array of ParameterExpression objects to use to populate the Parameters collection.
Retornos
Um objeto que representa uma expressão lambda que tem a propriedade NodeType igual a Lambda e as propriedades Body e Parameters definidas com os valores especificados.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.
Exceções
delegateType ou body é null.delegateType or body is null.
- ou --or-
Um ou mais elementos em parameters são null.One or more elements in parameters are null.
delegateType não representa um tipo de delegado.delegateType does not represent a delegate type.
- ou --or-
body.Type representa um tipo que não é atribuível ao tipo de retorno do tipo de delegado representado por delegateType.body.Type represents a type that is not assignable to the return type of the delegate type represented by delegateType.
- ou --or-
parameters não contém o mesmo número de elementos da lista de parâmetros para o tipo de delegado representado por delegateType.parameters does not contain the same number of elements as the list of parameters for the delegate type represented by delegateType.
- ou --or-
A propriedade Type de um elemento de parameters não é atribuível do tipo de parâmetro correspondente do tipo de delegado representado por 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.
Comentários
O objeto que é retornado dessa função é do tipo Expression<TDelegate> .The object that is returned from this function is of type Expression<TDelegate>. O LambdaExpression tipo é usado para representar o objeto retornado porque o tipo concreto da expressão lambda não é conhecido no momento da compilação.The LambdaExpression type is used to represent the returned object because the concrete type of the lambda expression is not known at compile time.
O número de parâmetros para o tipo delegado representado por delegateType deve ser igual ao comprimento de parameters .The number of parameters for the delegate type represented by delegateType must equal the length of parameters.
Os elementos de parameters devem ser referenciados iguais às expressões de parâmetro no body .The elements of parameters must be reference equal to the parameter expressions in body.
A Type Propriedade do objeto resultante é igual a delegateType .The Type property of the resulting object is equal to delegateType. Se parameters for null , a Parameters Propriedade do objeto resultante será uma coleção vazia.If parameters is null, the Parameters property of the resulting object is an empty collection.
Aplica-se a
Lambda(Type, Expression, Boolean, ParameterExpression[])
Cria um LambdaExpression em que o tipo delegado é conhecido no tempo de compilação, com um parâmetro que indica se a otimização da parte final da chamada será aplicada e uma matriz de expressões de parâmetro.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);
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
Parâmetros
- delegateType
- Type
Um Type que representa a assinatura de delegado para o lambda.A Type representing the delegate signature for the lambda.
- body
- Expression
Um Expression para definir a propriedade Body igual a ele.An Expression to set the Body property equal to.
- tailCall
- Boolean
Um Boolean que indica se a otimização de chamada final será aplicada ao compilar a expressão criada.A Boolean that indicates if tail call optimization will be applied when compiling the created expression.
- parameters
- ParameterExpression[]
Uma matriz que contém os objetos ParameterExpression a serem usados para popular a coleção Parameters.An array that contains ParameterExpression objects to use to populate the Parameters collection.
Retornos
Um LambdaExpression que tem a propriedade NodeType igual a Lambda e as propriedades Body e Parameters definidas com os valores especificados.A LambdaExpression that has the NodeType property equal to Lambda and the Body and Parameters properties set to the specified values.
Aplica-se a
Lambda(Expression, String, IEnumerable<ParameterExpression>)
Cria um LambdaExpression construindo primeiro um tipo delegado do corpo da expressão, o nome do lambda e uma coleção enumerável de expressões de parâmetro.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. Ele pode ser usado quando o tipo de delegado não é conhecido em tempo de compilação.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);
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
Parâmetros
- body
- Expression
Um Expression para definir a propriedade Body igual a ele.An Expression to set the Body property equal to.
- name
- String
O nome para o lambda.The name for the lambda. Usada para emitir informações de depuração.Used for emitting debug information.
- parameters
- IEnumerable<ParameterExpression>
Um IEnumerable<T> que contém objetos ParameterExpression a serem usados para preencher a coleção de Parameters.An IEnumerable<T> that contains ParameterExpression objects to use to populate the Parameters collection.
Retornos
Um LambdaExpression que tem a propriedade NodeType igual a Lambda e as propriedades Body e Parameters definidas com os valores especificados.A LambdaExpression that has the NodeType property equal to Lambda and the Body and Parameters properties set to the specified values.
Aplica-se a
Lambda(Expression, Boolean, ParameterExpression[])
Cria um LambdaExpression construindo primeiro um tipo delegado do corpo da expressão, um parâmetro que indica se a otimização da parte final da chamada será aplicada e uma matriz de expressões de parâmetro.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. Ele pode ser usado quando o tipo de delegado não é conhecido em tempo de compilação.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);
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
Parâmetros
- body
- Expression
Um Expression para definir a propriedade Body igual a ele.An Expression to set the Body property equal to.
- tailCall
- Boolean
Um Boolean que indica se a otimização de chamada final será aplicada ao compilar a expressão criada.A Boolean that indicates if tail call optimization will be applied when compiling the created expression.
- parameters
- ParameterExpression[]
Uma matriz que contém os objetos ParameterExpression a serem usados para popular a coleção Parameters.An array that contains ParameterExpression objects to use to populate the Parameters collection.
Retornos
Um LambdaExpression que tem a propriedade NodeType igual a Lambda e as propriedades Body e Parameters definidas com os valores especificados.A LambdaExpression that has the NodeType property equal to Lambda and the Body and Parameters properties set to the specified values.
Aplica-se a
Lambda(Expression, Boolean, IEnumerable<ParameterExpression>)
Cria um LambdaExpression construindo primeiro um tipo delegado do corpo da expressão, um parâmetro que indica se a otimização da parte final da chamada será aplicada e uma coleção enumerável de expressões de parâmetro.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. Ele pode ser usado quando o tipo de delegado não é conhecido em tempo de compilação.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);
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
Parâmetros
- body
- Expression
Um Expression para definir a propriedade Body igual a ele.An Expression to set the Body property equal to.
- tailCall
- Boolean
Um Boolean que indica se a otimização de chamada final será aplicada ao compilar a expressão criada.A Boolean that indicates if tail call optimization will be applied when compiling the created expression.
- parameters
- IEnumerable<ParameterExpression>
Um IEnumerable<T> que contém objetos ParameterExpression a serem usados para preencher a coleção de Parameters.An IEnumerable<T> that contains ParameterExpression objects to use to populate the Parameters collection.
Retornos
Um LambdaExpression que tem a propriedade NodeType igual a Lambda e as propriedades Body e Parameters definidas com os valores especificados.A LambdaExpression that has the NodeType property equal to Lambda and the Body and Parameters properties set to the specified values.
Aplica-se a
Lambda(Type, Expression, IEnumerable<ParameterExpression>)
Cria um LambdaExpression em que o tipo delegado é conhecido no tempo de compilação, com uma coleção enumerável de expressões de parâmetro.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);
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
Parâmetros
- delegateType
- Type
Um Type que representa uma assinatura de delegado para lambda.A Type that represents a delegate signature for the lambda.
- body
- Expression
Um Expression para definir a propriedade Body igual a ele.An Expression to set the Body property equal to.
- parameters
- IEnumerable<ParameterExpression>
Um IEnumerable<T> que contém objetos ParameterExpression a serem usados para preencher a coleção de Parameters.An IEnumerable<T> that contains ParameterExpression objects to use to populate the Parameters collection.
Retornos
Um objeto que representa uma expressão lambda que tem a propriedade NodeType igual a Lambda e as propriedades Body e Parameters definidas com os valores especificados.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.
Exceções
delegateType ou body é null.delegateType or body is null.
- ou --or-
Um ou mais elementos em parameters são null.One or more elements in parameters are null.
delegateType não representa um tipo de delegado.delegateType does not represent a delegate type.
- ou --or-
body.Type representa um tipo que não é atribuível ao tipo de retorno do tipo de delegado representado por delegateType.body.Type represents a type that is not assignable to the return type of the delegate type represented by delegateType.
- ou --or-
parameters não contém o mesmo número de elementos da lista de parâmetros para o tipo de delegado representado por delegateType.parameters does not contain the same number of elements as the list of parameters for the delegate type represented by delegateType.
- ou --or-
A propriedade Type de um elemento de parameters não é atribuível do tipo de parâmetro correspondente do tipo de delegado representado por 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.
Exemplos
O exemplo a seguir demonstra como criar uma expressão que representa uma expressão lambda que adiciona 1 ao argumento passado.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
Comentários
O objeto que é retornado dessa função é do tipo Expression<TDelegate> .The object that is returned from this function is of type Expression<TDelegate>. O LambdaExpression tipo é usado para representar o objeto retornado porque o tipo concreto da expressão lambda não é conhecido no momento da compilação.The LambdaExpression type is used to represent the returned object because the concrete type of the lambda expression is not known at compile time.
O número de parâmetros para o tipo delegado representado por delegateType deve ser igual ao comprimento de parameters .The number of parameters for the delegate type represented bydelegateType must equal the length of parameters.
Os elementos de parameters devem ser referenciados iguais às expressões de parâmetro no body .The elements of parameters must be reference equal to the parameter expressions in body.
A Type Propriedade do objeto resultante é igual a delegateType .The Type property of the resulting object is equal to delegateType. Se parameters for null , a Parameters Propriedade do objeto resultante será uma coleção vazia.If parameters is null, the Parameters property of the resulting object is an empty collection.
Aplica-se a
Lambda(Expression, ParameterExpression[])
Cria um LambdaExpression construindo primeiro um tipo delegado do corpo da expressão e uma matriz de expressões de parâmetro.Creates a LambdaExpression by first constructing a delegate type from the expression body, and an array of parameter expressions. Ele pode ser usado quando o tipo de delegado não é conhecido em tempo de compilação.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);
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
Parâmetros
- body
- Expression
Um Expression para definir a propriedade Body igual a ele.An Expression to set the Body property equal to.
- parameters
- ParameterExpression[]
Uma matriz de objetos ParameterExpression a serem usados para popular a coleção de Parameters.An array of ParameterExpression objects to use to populate the Parameters collection.
Retornos
Um LambdaExpression que tem a propriedade NodeType igual a Lambda e as propriedades Body e Parameters definidas com os valores especificados.A LambdaExpression that has the NodeType property equal to Lambda and the Body and Parameters properties set to the specified values.
Exceções
body é null.body is null.
- ou --or-
Um ou mais elementos de parameters são null.One or more elements of parameters are null.
parameters contém mais de dezesseis elementos.parameters contains more than sixteen elements.
Comentários
O parameters parâmetro não deve ter mais de dezesseis elementos.The parameters parameter must not have more than sixteen elements.
Os elementos de parameters devem ser referenciados iguais às expressões de parâmetro no body .The elements of parameters must be reference equal to the parameter expressions in body.
Esse método constrói um tipo delegado apropriado de um dos System.Func delegados genéricos.This method constructs an appropriate delegate type from one of the System.Func generic delegates. Em seguida, ele passa o tipo delegado para um dos Lambda métodos de fábrica para criar um LambdaExpression .It then passes the delegate type to one of the Lambda factory methods to create a LambdaExpression.
Aplica-se a
Lambda(Expression, IEnumerable<ParameterExpression>)
Cria um LambdaExpression construindo primeiro um tipo delegado do corpo da expressão e uma coleção enumerável de expressões de parâmetro.Creates a LambdaExpression by first constructing a delegate type from the expression body, and an enumerable collection of parameter expressions. Ele pode ser usado quando o tipo de delegado não é conhecido em tempo de compilação.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);
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
Parâmetros
- body
- Expression
Um Expression para definir a propriedade Body igual a ele.An Expression to set the Body property equal to.
- parameters
- IEnumerable<ParameterExpression>
Um IEnumerable<T> que contém objetos ParameterExpression a serem usados para preencher a coleção de Parameters.An IEnumerable<T> that contains ParameterExpression objects to use to populate the Parameters collection.
Retornos
Um LambdaExpression que tem a propriedade NodeType igual a Lambda e as propriedades Body e Parameters definidas com os valores especificados.A LambdaExpression that has the NodeType property equal to Lambda and the Body and Parameters properties set to the specified values.
Aplica-se a
Lambda<TDelegate>(Expression, String, IEnumerable<ParameterExpression>)
Cria um Expression<TDelegate> em que o tipo delegado é conhecido no tempo de compilação, com o nome do lambda e uma coleção enumerável de expressões de parâmetro.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);
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)
Parâmetros de tipo
- TDelegate
O tipo de delegado.The delegate type.
Parâmetros
- body
- Expression
Um Expression para definir a propriedade Body igual a ele.An Expression to set the Body property equal to.
- name
- String
O nome do lambda.The name of the lambda. Usado para gerar informações de depuração.Used for generating debugging information.
- parameters
- IEnumerable<ParameterExpression>
Um IEnumerable<T> que contém objetos ParameterExpression a serem usados para preencher a coleção de Parameters.An IEnumerable<T> that contains ParameterExpression objects to use to populate the Parameters collection.
Retornos
Um Expression<TDelegate> que tem a propriedade NodeType igual a Lambda e as propriedades Body e Parameters definidas com os valores especificados.An Expression<TDelegate> that has the NodeType property equal to Lambda and the Body and Parameters properties set to the specified values.
Aplica-se a
Lambda<TDelegate>(Expression, Boolean, ParameterExpression[])
Cria um Expression<TDelegate> em que o tipo delegado é conhecido no tempo de compilação, com um parâmetro que indica se a otimização da parte final da chamada será aplicada e uma matriz de expressões de parâmetro.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);
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)
Parâmetros de tipo
- TDelegate
O tipo de delegado.The delegate type.
Parâmetros
- body
- Expression
Um Expression para definir a propriedade Body igual a ele.An Expression to set the Body property equal to.
- tailCall
- Boolean
Um Boolean que indica se a otimização de chamada final será aplicada ao compilar a expressão criada.A Boolean that indicates if tail call optimization will be applied when compiling the created expression.
- parameters
- ParameterExpression[]
Uma matriz que contém os objetos ParameterExpression a serem usados para popular a coleção Parameters.An array that contains ParameterExpression objects to use to populate the Parameters collection.
Retornos
Um Expression<TDelegate> que tem a propriedade NodeType igual a Lambda e as propriedades Body e Parameters definidas com os valores especificados.An Expression<TDelegate> that has the NodeType property equal to Lambda and the Body and Parameters properties set to the specified values.
Aplica-se a
Lambda<TDelegate>(Expression, String, Boolean, IEnumerable<ParameterExpression>)
Cria um Expression<TDelegate> em que o tipo delegado é conhecido no tempo de compilação, com o nome do lambda, um parâmetro que indica se a otimização da parte final da chamada será aplicada e uma coleção enumerável de expressões de parâmetro.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);
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)
Parâmetros de tipo
- TDelegate
O tipo de delegado.The delegate type.
Parâmetros
- body
- Expression
Um Expression para definir a propriedade Body igual a ele.An Expression to set the Body property equal to.
- name
- String
O nome do lambda.The name of the lambda. Usado para gerar informações de depuração.Used for generating debugging info.
- tailCall
- Boolean
Um Boolean que indica se a otimização de chamada final será aplicada ao compilar a expressão criada.A Boolean that indicates if tail call optimization will be applied when compiling the created expression.
- parameters
- IEnumerable<ParameterExpression>
Um IEnumerable<T> que contém objetos ParameterExpression a serem usados para preencher a coleção de Parameters.An IEnumerable<T> that contains ParameterExpression objects to use to populate the Parameters collection.
Retornos
Um Expression<TDelegate> que tem a propriedade NodeType igual a Lambda e as propriedades Body e Parameters definidas com os valores especificados.An Expression<TDelegate> that has the NodeType property equal to Lambda and the Body and Parameters properties set to the specified values.
Aplica-se a
Lambda<TDelegate>(Expression, ParameterExpression[])
Cria um Expression<TDelegate> em que o tipo delegado é conhecido no tempo de compilação, com uma matriz de expressões de parâmetro.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);
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)
Parâmetros de tipo
- TDelegate
Um tipo de delegado.A delegate type.
Parâmetros
- body
- Expression
Um Expression para definir a propriedade Body igual a ele.An Expression to set the Body property equal to.
- parameters
- ParameterExpression[]
Uma matriz de objetos ParameterExpression a serem usados para popular a coleção de Parameters.An array of ParameterExpression objects to use to populate the Parameters collection.
Retornos
Um Expression<TDelegate> que tem a propriedade NodeType igual a Lambda e as propriedades Body e Parameters definidas com os valores especificados.An Expression<TDelegate> that has the NodeType property equal to Lambda and the Body and Parameters properties set to the specified values.
Exceções
body é null.body is null.
- ou --or-
Um ou mais elementos em parameters são null.One or more elements in parameters are null.
TDelegate não é um tipo de delegado.TDelegate is not a delegate type.
- ou --or-
body.Type representa um tipo que não pode ser atribuído ao tipo de retorno de TDelegate.body.Type represents a type that is not assignable to the return type of TDelegate.
- ou --or-
parameters não contém o mesmo número de elementos que a lista de parâmetros de TDelegate.parameters does not contain the same number of elements as the list of parameters for TDelegate.
- ou --or-
A propriedade Type de um elemento de parameters não pode ser atribuída do tipo de parâmetro correspondente de TDelegate.The Type property of an element of parameters is not assignable from the type of the corresponding parameter type of TDelegate.
Comentários
O número de parâmetros para o tipo delegado TDelegate deve ser igual ao número de elementos em parameters .The number of parameters for the delegate type TDelegate must equal the number of elements in parameters.
Os elementos de parameters devem ser referenciados iguais às expressões de parâmetro no body .The elements of parameters must be reference equal to the parameter expressions inbody.
A Type Propriedade do objeto resultante representa o tipo TDelegate .The Type property of the resulting object represents the type TDelegate. Se parameters for null , a Parameters Propriedade do objeto resultante será uma coleção vazia.If parameters is null, the Parameters property of the resulting object is an empty collection.
Aplica-se a
Lambda<TDelegate>(Expression, IEnumerable<ParameterExpression>)
Cria um Expression<TDelegate> em que o tipo delegado é conhecido no tempo de compilação, com uma coleção enumerável de expressões de parâmetro.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);
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)
Parâmetros de tipo
- TDelegate
Um tipo de delegado.A delegate type.
Parâmetros
- body
- Expression
Um Expression para definir a propriedade Body igual a ele.An Expression to set the Body property equal to.
- parameters
- IEnumerable<ParameterExpression>
Um IEnumerable<T> que contém objetos ParameterExpression a serem usados para preencher a coleção de Parameters.An IEnumerable<T> that contains ParameterExpression objects to use to populate the Parameters collection.
Retornos
Um Expression<TDelegate> que tem a propriedade NodeType igual a Lambda e as propriedades Body e Parameters definidas com os valores especificados.An Expression<TDelegate> that has the NodeType property equal to Lambda and the Body and Parameters properties set to the specified values.
Exceções
body é null.body is null.
- ou --or-
Um ou mais elementos em parameters são null.One or more elements in parameters are null.
TDelegate não é um tipo de delegado.TDelegate is not a delegate type.
- ou --or-
body.Type representa um tipo que não pode ser atribuído ao tipo de retorno de TDelegate.body.Type represents a type that is not assignable to the return type of TDelegate.
- ou --or-
parameters não contém o mesmo número de elementos que a lista de parâmetros de TDelegate.parameters does not contain the same number of elements as the list of parameters for TDelegate.
- ou --or-
A propriedade Type de um elemento de parameters não pode ser atribuída do tipo de parâmetro correspondente de TDelegate.The Type property of an element of parameters is not assignable from the type of the corresponding parameter type of TDelegate.
Comentários
O número de parâmetros para o tipo delegado TDelegate deve ser igual ao número de elementos em parameters .The number of parameters for the delegate type TDelegate must equal the number of elements in parameters.
Os elementos de parameters devem ser referenciados iguais às expressões de parâmetro no body .The elements of parameters must be reference equal to the parameter expressions in body.
A Type Propriedade do objeto resultante representa o tipo TDelegate .The Type property of the resulting object represents the type TDelegate. Se parameters for null , a Parameters Propriedade do objeto resultante será uma coleção vazia.If parameters is null, the Parameters property of the resulting object is an empty collection.
Aplica-se a
Lambda<TDelegate>(Expression, Boolean, IEnumerable<ParameterExpression>)
Cria um Expression<TDelegate> em que o tipo delegado é conhecido no tempo de compilação, com um parâmetro que indica se a otimização da parte final da chamada será aplicada e uma coleção enumerável de expressões de parâmetro.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);
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)
Parâmetros de tipo
- TDelegate
O tipo de delegado.The delegate type.
Parâmetros
- body
- Expression
Um Expression para definir a propriedade Body igual a ele.An Expression to set the Body property equal to.
- tailCall
- Boolean
Um Boolean que indica se a otimização de chamada final será aplicada ao compilar a expressão criada.A Boolean that indicates if tail call optimization will be applied when compiling the created expression.
- parameters
- IEnumerable<ParameterExpression>
Um IEnumerable<T> que contém objetos ParameterExpression a serem usados para preencher a coleção de Parameters.An IEnumerable<T> that contains ParameterExpression objects to use to populate the Parameters collection.
Retornos
Um Expression<TDelegate> que tem a propriedade NodeType igual a Lambda e as propriedades Body e Parameters definidas com os valores especificados.An Expression<TDelegate> that has the NodeType property equal to Lambda and the Body and Parameters properties set to the specified values.