Expression.Lambda Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Uma árvore de expressão que representa uma expressão lambda.
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. |
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. |
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. |
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. Ele pode ser usado quando o tipo de delegado não é conhecido em tempo de compilação. |
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. |
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. |
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. Ele pode ser usado quando o tipo de delegado não é conhecido em tempo de compilação. |
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. Ele pode ser usado quando o tipo de delegado não é conhecido em tempo de compilação. |
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. Ele pode ser usado quando o tipo de delegado não é conhecido em tempo de compilação. |
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. |
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. Ele pode ser usado quando o tipo de delegado não é conhecido em tempo de compilação. |
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. Ele pode ser usado quando o tipo de delegado não é conhecido em tempo de compilação. |
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. |
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. |
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. |
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. |
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. |
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. |
Lambda(Type, Expression, String, Boolean, IEnumerable<ParameterExpression>)
- Origem:
- LambdaExpression.cs
- Origem:
- LambdaExpression.cs
- Origem:
- LambdaExpression.cs
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.
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
- body
- Expression
Um Expression para definir a propriedade Body igual a ele.
- name
- String
O nome para o lambda. Usada para emitir informações de depuração.
- tailCall
- Boolean
Um Boolean que indica se a otimização de chamada final será aplicada ao compilar a expressão criada.
- parameters
- IEnumerable<ParameterExpression>
Um IEnumerable<T> que contém objetos ParameterExpression a serem usados para preencher a coleção de Parameters.
Retornos
Um LambdaExpression que tem a propriedade NodeType igual a Lambda e as propriedades Body e Parameters definidas com os valores especificados.
Aplica-se a
Lambda(Type, Expression, String, IEnumerable<ParameterExpression>)
- Origem:
- LambdaExpression.cs
- Origem:
- LambdaExpression.cs
- Origem:
- LambdaExpression.cs
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.
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
- body
- Expression
Um Expression para definir a propriedade Body igual a ele.
- name
- String
O nome para o lambda. Usada para emitir informações de depuração.
- parameters
- IEnumerable<ParameterExpression>
Um IEnumerable<T> que contém objetos ParameterExpression a serem usados para preencher a coleção de Parameters.
Retornos
Um LambdaExpression que tem a propriedade NodeType igual a Lambda e as propriedades Body e Parameters definidas com os valores especificados.
Aplica-se a
Lambda(Type, Expression, Boolean, IEnumerable<ParameterExpression>)
- Origem:
- LambdaExpression.cs
- Origem:
- LambdaExpression.cs
- Origem:
- LambdaExpression.cs
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.
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
- body
- Expression
Um Expression para definir a propriedade Body igual a ele.
- tailCall
- Boolean
Um Boolean que indica se a otimização de chamada final será aplicada ao compilar a expressão criada.
- parameters
- IEnumerable<ParameterExpression>
Um IEnumerable<T> que contém objetos ParameterExpression a serem usados para preencher a coleção de Parameters.
Retornos
Um LambdaExpression que tem a propriedade NodeType igual a Lambda e as propriedades Body e Parameters definidas com os valores especificados.
Aplica-se a
Lambda(Expression, String, Boolean, IEnumerable<ParameterExpression>)
- Origem:
- LambdaExpression.cs
- Origem:
- LambdaExpression.cs
- Origem:
- LambdaExpression.cs
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. Ele pode ser usado quando o tipo de delegado não é conhecido em tempo de compilação.
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.
- name
- String
O nome para o lambda. Usada para emitir informações de depuração.
- tailCall
- Boolean
Um Boolean que indica se a otimização de chamada final será aplicada ao compilar a expressão criada.
- parameters
- IEnumerable<ParameterExpression>
Um IEnumerable<T> que contém objetos ParameterExpression a serem usados para preencher a coleção de Parameters.
Retornos
Um LambdaExpression que tem a propriedade NodeType igual a Lambda e as propriedades Body e Parameters definidas com os valores especificados.
Aplica-se a
Lambda(Type, Expression, ParameterExpression[])
- Origem:
- LambdaExpression.cs
- Origem:
- LambdaExpression.cs
- Origem:
- LambdaExpression.cs
Cria um LambdaExpression em que o tipo delegado é conhecido no tempo de compilação, com uma matriz de expressões de parâmetro.
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
- body
- Expression
Um Expression para definir a propriedade Body igual a ele.
- parameters
- ParameterExpression[]
Uma matriz de objetos ParameterExpression a serem usados para popular a coleção de Parameters.
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.
Exceções
delegateType
ou body
é null
.
- ou -
Um ou mais elementos em parameters
são null
.
delegateType
não representa um tipo de delegado.
- ou -
body
.Type representa um tipo que não é atribuível ao tipo de retorno do tipo de delegado representado por delegateType
.
- ou -
parameters
não contém o mesmo número de elementos da lista de parâmetros para o tipo de delegado representado por delegateType
.
- ou -
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
.
Comentários
O objeto retornado dessa função é do tipo Expression<TDelegate>. O LambdaExpression tipo é usado para representar o objeto retornado porque o tipo concreto da expressão lambda não é conhecido em tempo de compilação.
O número de parâmetros para o tipo delegado representado por delegateType
deve ser igual ao comprimento de parameters
.
Os elementos de parameters
devem ser referência igual às expressões de parâmetro em body
.
A Type propriedade do objeto resultante é igual a delegateType
. Se parameters
for null
, a Parameters propriedade do objeto resultante será uma coleção vazia.
Aplica-se a
Lambda(Type, Expression, Boolean, ParameterExpression[])
- Origem:
- LambdaExpression.cs
- Origem:
- LambdaExpression.cs
- Origem:
- LambdaExpression.cs
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.
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
- body
- Expression
Um Expression para definir a propriedade Body igual a ele.
- tailCall
- Boolean
Um Boolean que indica se a otimização de chamada final será aplicada ao compilar a expressão criada.
- parameters
- ParameterExpression[]
Uma matriz que contém os objetos ParameterExpression a serem usados para popular a coleção Parameters.
Retornos
Um LambdaExpression que tem a propriedade NodeType igual a Lambda e as propriedades Body e Parameters definidas com os valores especificados.
Aplica-se a
Lambda(Expression, String, IEnumerable<ParameterExpression>)
- Origem:
- LambdaExpression.cs
- Origem:
- LambdaExpression.cs
- Origem:
- LambdaExpression.cs
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. Ele pode ser usado quando o tipo de delegado não é conhecido em tempo de compilação.
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.
- name
- String
O nome para o lambda. Usada para emitir informações de depuração.
- parameters
- IEnumerable<ParameterExpression>
Um IEnumerable<T> que contém objetos ParameterExpression a serem usados para preencher a coleção de Parameters.
Retornos
Um LambdaExpression que tem a propriedade NodeType igual a Lambda e as propriedades Body e Parameters definidas com os valores especificados.
Aplica-se a
Lambda(Expression, Boolean, ParameterExpression[])
- Origem:
- LambdaExpression.cs
- Origem:
- LambdaExpression.cs
- Origem:
- LambdaExpression.cs
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. Ele pode ser usado quando o tipo de delegado não é conhecido em tempo de compilação.
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.
- tailCall
- Boolean
Um Boolean que indica se a otimização de chamada final será aplicada ao compilar a expressão criada.
- parameters
- ParameterExpression[]
Uma matriz que contém os objetos ParameterExpression a serem usados para popular a coleção Parameters.
Retornos
Um LambdaExpression que tem a propriedade NodeType igual a Lambda e as propriedades Body e Parameters definidas com os valores especificados.
Aplica-se a
Lambda(Expression, Boolean, IEnumerable<ParameterExpression>)
- Origem:
- LambdaExpression.cs
- Origem:
- LambdaExpression.cs
- Origem:
- LambdaExpression.cs
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. Ele pode ser usado quando o tipo de delegado não é conhecido em tempo de compilação.
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.
- tailCall
- Boolean
Um Boolean que indica se a otimização de chamada final será aplicada ao compilar a expressão criada.
- parameters
- IEnumerable<ParameterExpression>
Um IEnumerable<T> que contém objetos ParameterExpression a serem usados para preencher a coleção de Parameters.
Retornos
Um LambdaExpression que tem a propriedade NodeType igual a Lambda e as propriedades Body e Parameters definidas com os valores especificados.
Aplica-se a
Lambda(Type, Expression, IEnumerable<ParameterExpression>)
- Origem:
- LambdaExpression.cs
- Origem:
- LambdaExpression.cs
- Origem:
- LambdaExpression.cs
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.
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
- body
- Expression
Um Expression para definir a propriedade Body igual a ele.
- parameters
- IEnumerable<ParameterExpression>
Um IEnumerable<T> que contém objetos ParameterExpression a serem usados para preencher a coleção de Parameters.
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.
Exceções
delegateType
ou body
é null
.
- ou -
Um ou mais elementos em parameters
são null
.
delegateType
não representa um tipo de delegado.
- ou -
body
.Type representa um tipo que não é atribuível ao tipo de retorno do tipo de delegado representado por delegateType
.
- ou -
parameters
não contém o mesmo número de elementos da lista de parâmetros para o tipo de delegado representado por delegateType
.
- ou -
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
.
Exemplos
O exemplo a seguir demonstra como criar uma expressão que representa uma expressão lambda que adiciona 1 ao argumento passado.
// 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 retornado dessa função é do tipo Expression<TDelegate>. O LambdaExpression tipo é usado para representar o objeto retornado porque o tipo concreto da expressão lambda não é conhecido em tempo de compilação.
O número de parâmetros para o tipo delegado representado pordelegateType
deve ser igual ao comprimento de parameters
.
Os elementos de parameters
devem ser referência igual às expressões de parâmetro em body
.
A Type propriedade do objeto resultante é igual a delegateType
. Se parameters
for null
, a Parameters propriedade do objeto resultante será uma coleção vazia.
Aplica-se a
Lambda(Expression, ParameterExpression[])
- Origem:
- LambdaExpression.cs
- Origem:
- LambdaExpression.cs
- Origem:
- LambdaExpression.cs
Cria um LambdaExpression construindo primeiro um tipo delegado do corpo da expressão e uma matriz de expressões de parâmetro. Ele pode ser usado quando o tipo de delegado não é conhecido em tempo de compilação.
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.
- parameters
- ParameterExpression[]
Uma matriz de objetos ParameterExpression a serem usados para popular a coleção de Parameters.
Retornos
Um LambdaExpression que tem a propriedade NodeType igual a Lambda e as propriedades Body e Parameters definidas com os valores especificados.
Exceções
parameters
contém mais de dezesseis elementos.
Comentários
O parameters
parâmetro não deve ter mais de dezesseis elementos.
Os elementos de parameters
devem ser referência igual às expressões de parâmetro em body
.
Esse método constrói um tipo de delegado apropriado de um dos System.Func
delegados genéricos. Em seguida, ele passa o tipo de delegado para um dos métodos de Lambda fábrica para criar um LambdaExpression.
Aplica-se a
Lambda(Expression, IEnumerable<ParameterExpression>)
- Origem:
- LambdaExpression.cs
- Origem:
- LambdaExpression.cs
- Origem:
- LambdaExpression.cs
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. Ele pode ser usado quando o tipo de delegado não é conhecido em tempo de compilação.
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.
- parameters
- IEnumerable<ParameterExpression>
Um IEnumerable<T> que contém objetos ParameterExpression a serem usados para preencher a coleção de Parameters.
Retornos
Um LambdaExpression que tem a propriedade NodeType igual a Lambda e as propriedades Body e Parameters definidas com os valores especificados.
Aplica-se a
Lambda<TDelegate>(Expression, String, IEnumerable<ParameterExpression>)
- Origem:
- LambdaExpression.cs
- Origem:
- LambdaExpression.cs
- Origem:
- LambdaExpression.cs
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.
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.
Parâmetros
- body
- Expression
Um Expression para definir a propriedade Body igual a ele.
- name
- String
O nome do lambda. Usado para gerar informações de depuração.
- parameters
- IEnumerable<ParameterExpression>
Um IEnumerable<T> que contém objetos ParameterExpression a serem usados para preencher a coleção de Parameters.
Retornos
Um Expression<TDelegate> que tem a propriedade NodeType igual a Lambda e as propriedades Body e Parameters definidas com os valores especificados.
Aplica-se a
Lambda<TDelegate>(Expression, Boolean, ParameterExpression[])
- Origem:
- LambdaExpression.cs
- Origem:
- LambdaExpression.cs
- Origem:
- LambdaExpression.cs
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.
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.
Parâmetros
- body
- Expression
Um Expression para definir a propriedade Body igual a ele.
- tailCall
- Boolean
Um Boolean que indica se a otimização de chamada final será aplicada ao compilar a expressão criada.
- parameters
- ParameterExpression[]
Uma matriz que contém os objetos ParameterExpression a serem usados para popular a coleção Parameters.
Retornos
Um Expression<TDelegate> que tem a propriedade NodeType igual a Lambda e as propriedades Body e Parameters definidas com os valores especificados.
Aplica-se a
Lambda<TDelegate>(Expression, String, Boolean, IEnumerable<ParameterExpression>)
- Origem:
- LambdaExpression.cs
- Origem:
- LambdaExpression.cs
- Origem:
- LambdaExpression.cs
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.
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.
Parâmetros
- body
- Expression
Um Expression para definir a propriedade Body igual a ele.
- name
- String
O nome do lambda. Usado para gerar informações de depuração.
- tailCall
- Boolean
Um Boolean que indica se a otimização de chamada final será aplicada ao compilar a expressão criada.
- parameters
- IEnumerable<ParameterExpression>
Um IEnumerable<T> que contém objetos ParameterExpression a serem usados para preencher a coleção de Parameters.
Retornos
Um Expression<TDelegate> que tem a propriedade NodeType igual a Lambda e as propriedades Body e Parameters definidas com os valores especificados.
Aplica-se a
Lambda<TDelegate>(Expression, ParameterExpression[])
- Origem:
- LambdaExpression.cs
- Origem:
- LambdaExpression.cs
- Origem:
- LambdaExpression.cs
Cria um Expression<TDelegate> em que o tipo delegado é conhecido no tempo de compilação, com uma matriz de expressões de parâmetro.
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.
Parâmetros
- body
- Expression
Um Expression para definir a propriedade Body igual a ele.
- parameters
- ParameterExpression[]
Uma matriz de objetos ParameterExpression a serem usados para popular a coleção de Parameters.
Retornos
Um Expression<TDelegate> que tem a propriedade NodeType igual a Lambda e as propriedades Body e Parameters definidas com os valores especificados.
Exceções
TDelegate
não é um tipo de delegado.
- ou -
body
.Type representa um tipo que não pode ser atribuído ao tipo de retorno de TDelegate
.
- ou -
parameters
não contém o mesmo número de elementos que a lista de parâmetros de TDelegate
.
- ou -
A propriedade Type de um elemento de parameters
não pode ser atribuída do tipo de parâmetro correspondente de TDelegate
.
Comentários
O número de parâmetros para o tipo TDelegate
delegado deve ser igual ao número de elementos em parameters
.
Os elementos de parameters
devem ser referências iguais às expressões de parâmetro embody
.
A Type propriedade do objeto resultante representa o tipo TDelegate
. Se parameters
for null
, a Parameters propriedade do objeto resultante será uma coleção vazia.
Aplica-se a
Lambda<TDelegate>(Expression, IEnumerable<ParameterExpression>)
- Origem:
- LambdaExpression.cs
- Origem:
- LambdaExpression.cs
- Origem:
- LambdaExpression.cs
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.
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.
Parâmetros
- body
- Expression
Um Expression para definir a propriedade Body igual a ele.
- parameters
- IEnumerable<ParameterExpression>
Um IEnumerable<T> que contém objetos ParameterExpression a serem usados para preencher a coleção de Parameters.
Retornos
Um Expression<TDelegate> que tem a propriedade NodeType igual a Lambda e as propriedades Body e Parameters definidas com os valores especificados.
Exceções
TDelegate
não é um tipo de delegado.
- ou -
body
.Type representa um tipo que não pode ser atribuído ao tipo de retorno de TDelegate
.
- ou -
parameters
não contém o mesmo número de elementos que a lista de parâmetros de TDelegate
.
- ou -
A propriedade Type de um elemento de parameters
não pode ser atribuída do tipo de parâmetro correspondente de TDelegate
.
Comentários
O número de parâmetros para o tipo TDelegate
delegado deve ser igual ao número de elementos em parameters
.
Os elementos de parameters
devem ser referências iguais às expressões de parâmetro em body
.
A Type propriedade do objeto resultante representa o tipo TDelegate
. Se parameters
for null
, a Parameters propriedade do objeto resultante será uma coleção vazia.
Aplica-se a
Lambda<TDelegate>(Expression, Boolean, IEnumerable<ParameterExpression>)
- Origem:
- LambdaExpression.cs
- Origem:
- LambdaExpression.cs
- Origem:
- LambdaExpression.cs
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.
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.
Parâmetros
- body
- Expression
Um Expression para definir a propriedade Body igual a ele.
- tailCall
- Boolean
Um Boolean que indica se a otimização de chamada final será aplicada ao compilar a expressão criada.
- parameters
- IEnumerable<ParameterExpression>
Um IEnumerable<T> que contém objetos ParameterExpression a serem usados para preencher a coleção de Parameters.
Retornos
Um Expression<TDelegate> que tem a propriedade NodeType igual a Lambda e as propriedades Body e Parameters definidas com os valores especificados.