Expression.Lambda Método
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
Cria uma árvore de expressões que representa uma expressão lambda.
Sobrecargas
| Name | Description |
|---|---|
| Lambda(Type, Expression, String, Boolean, IEnumerable<ParameterExpression>) |
Cria um LambdaExpression onde o tipo de delegado é conhecido em tempo de compilação, com o nome para o lambda, um parâmetro que indica se será aplicada otimização para chamadas de cauda, e uma coleção enumerável de expressões de parâmetros. |
| Lambda(Type, Expression, String, IEnumerable<ParameterExpression>) |
Cria um LambdaExpression onde o tipo de delegado é conhecido em tempo de compilação, com o nome para o lambda, e uma coleção enumerável de expressões de parâmetros. |
| Lambda(Type, Expression, Boolean, IEnumerable<ParameterExpression>) |
Cria um LambdaExpression onde o tipo de delegado é conhecido em tempo de compilação, com um parâmetro que indica se será aplicada otimização para chamadas de cauda, e uma coleção enumerável de expressões de parâmetros. |
| Lambda(Expression, String, Boolean, IEnumerable<ParameterExpression>) |
Cria-se LambdaExpression a construindo primeiro um tipo de delegado a partir do corpo da expressão, o nome para o lambda, um parâmetro que indica se será aplicada a otimização de chamadas de cauda, e uma coleção enumerável de expressões de parâmetros. Pode ser usado quando o tipo de delegado não é conhecido em tempo de compilação. |
| Lambda(Type, Expression, ParameterExpression[]) |
Cria um LambdaExpression onde o tipo de delegado é conhecido em tempo de compilação, com um array de expressões de parâmetros. |
| Lambda(Type, Expression, Boolean, ParameterExpression[]) |
Cria um LambdaExpression onde o tipo de delegado é conhecido em tempo de compilação, com um parâmetro que indica se será aplicada otimização para chamadas de cauda, e um array de expressões de parâmetros. |
| Lambda(Expression, String, IEnumerable<ParameterExpression>) |
Cria-se um LambdaExpression construindo primeiro um tipo de delegado a partir do corpo da expressão, o nome do lambda e uma coleção enumerável de expressões de parâmetros. 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 de delegado a partir do corpo da expressão, um parâmetro que indica se será aplicada otimização para chamadas de cauda, e um array de expressões de parâmetros. Pode ser usado quando o tipo de delegado não é conhecido em tempo de compilação. |
| Lambda(Expression, Boolean, IEnumerable<ParameterExpression>) |
Cria-se LambdaExpression a construindo primeiro um tipo de delegado a partir do corpo da expressão, um parâmetro que indica se será aplicada a otimização para chamadas de cauda, e uma coleção enumerável de expressões de parâmetros. Pode ser usado quando o tipo de delegado não é conhecido em tempo de compilação. |
| Lambda(Type, Expression, IEnumerable<ParameterExpression>) |
Cria um LambdaExpression onde o tipo de delegado é conhecido em tempo de compilação, com uma coleção enumerável de expressões de parâmetros. |
| Lambda(Expression, ParameterExpression[]) |
Cria um LambdaExpression construindo primeiro um tipo de delegado a partir do corpo da expressão, e um array de expressões de parâmetros. 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 de delegado a partir do corpo da expressão, e uma coleção enumerável de expressões de parâmetros. 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> onde o tipo de delegado é conhecido em tempo de compilação, com o nome para a lambda, e uma coleção enumerável de expressões de parâmetros. |
| Lambda<TDelegate>(Expression, Boolean, ParameterExpression[]) |
Cria um Expression<TDelegate> onde o tipo de delegado é conhecido em tempo de compilação, com um parâmetro que indica se será aplicada otimização para chamadas de cauda, e um array de expressões de parâmetros. |
| Lambda<TDelegate>(Expression, String, Boolean, IEnumerable<ParameterExpression>) |
Cria um Expression<TDelegate> onde o tipo de delegado é conhecido em tempo de compilação, com o nome para o lambda, um parâmetro que indica se será aplicada a otimização de chamadas de cauda, e uma coleção enumerável de expressões de parâmetros. |
| Lambda<TDelegate>(Expression, ParameterExpression[]) |
Cria um Expression<TDelegate> onde o tipo de delegado é conhecido em tempo de compilação, com um array de expressões de parâmetros. |
| Lambda<TDelegate>(Expression, IEnumerable<ParameterExpression>) |
Cria um Expression<TDelegate> onde o tipo de delegado é conhecido em tempo de compilação, com uma coleção enumerável de expressões de parâmetros. |
| Lambda<TDelegate>(Expression, Boolean, IEnumerable<ParameterExpression>) |
Cria um Expression<TDelegate> onde o tipo de delegado é conhecido em tempo de compilação, com um parâmetro que indica se será aplicada otimização para chamadas de cauda, e uma coleção enumerável de expressões de parâmetros. |
Lambda(Type, Expression, String, Boolean, IEnumerable<ParameterExpression>)
Cria um LambdaExpression onde o tipo de delegado é conhecido em tempo de compilação, com o nome para o lambda, um parâmetro que indica se será aplicada otimização para chamadas de cauda, e uma coleção enumerável de expressões de parâmetros.
public:
static System::Linq::Expressions::LambdaExpression ^ Lambda(Type ^ delegateType, System::Linq::Expressions::Expression ^ body, System::String ^ name, bool tailCall, System::Collections::Generic::IEnumerable<System::Linq::Expressions::ParameterExpression ^> ^ parameters);
public static System.Linq.Expressions.LambdaExpression Lambda(Type delegateType, System.Linq.Expressions.Expression body, string name, bool tailCall, System.Collections.Generic.IEnumerable<System.Linq.Expressions.ParameterExpression> parameters);
static member Lambda : Type * System.Linq.Expressions.Expression * string * bool * seq<System.Linq.Expressions.ParameterExpression> -> System.Linq.Expressions.LambdaExpression
Public Shared Function Lambda (delegateType As Type, body As Expression, name As String, tailCall As Boolean, parameters As IEnumerable(Of ParameterExpression)) As LambdaExpression
Parâmetros
- body
- Expression
E Expression para definir a Body propriedade igual a .
- name
- String
O nome do lambda. Usado para emitir informação de depuração.
- tailCall
- Boolean
A Boolean que indica se será aplicada otimização por chamadas de cauda ao compilar a expressão criada.
- parameters
- IEnumerable<ParameterExpression>
Um IEnumerable<T> que contém ParameterExpression objetos para usar para preencher a Parameters coleção.
Devoluções
A LambdaExpression que tem a NodeType propriedade igual a Lambda e as Body propriedades e Parameters definidas nos valores especificados.
Aplica-se a
Lambda(Type, Expression, String, IEnumerable<ParameterExpression>)
Cria um LambdaExpression onde o tipo de delegado é conhecido em tempo de compilação, com o nome para o lambda, e uma coleção enumerável de expressões de parâmetros.
public:
static System::Linq::Expressions::LambdaExpression ^ Lambda(Type ^ delegateType, System::Linq::Expressions::Expression ^ body, System::String ^ name, System::Collections::Generic::IEnumerable<System::Linq::Expressions::ParameterExpression ^> ^ parameters);
public static System.Linq.Expressions.LambdaExpression Lambda(Type delegateType, System.Linq.Expressions.Expression body, string name, System.Collections.Generic.IEnumerable<System.Linq.Expressions.ParameterExpression> parameters);
static member Lambda : Type * System.Linq.Expressions.Expression * string * seq<System.Linq.Expressions.ParameterExpression> -> System.Linq.Expressions.LambdaExpression
Public Shared Function Lambda (delegateType As Type, body As Expression, name As String, parameters As IEnumerable(Of ParameterExpression)) As LambdaExpression
Parâmetros
- body
- Expression
E Expression para definir a Body propriedade igual a .
- name
- String
O nome do lambda. Usado para emitir informação de depuração.
- parameters
- IEnumerable<ParameterExpression>
Um IEnumerable<T> que contém ParameterExpression objetos para usar para preencher a Parameters coleção.
Devoluções
A LambdaExpression que tem a NodeType propriedade igual a Lambda e as Body propriedades e Parameters definidas nos valores especificados.
Aplica-se a
Lambda(Type, Expression, Boolean, IEnumerable<ParameterExpression>)
Cria um LambdaExpression onde o tipo de delegado é conhecido em tempo de compilação, com um parâmetro que indica se será aplicada otimização para chamadas de cauda, e uma coleção enumerável de expressões de parâmetros.
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
E Expression para definir a Body propriedade igual a .
- tailCall
- Boolean
A Boolean que indica se será aplicada otimização por chamadas de cauda ao compilar a expressão criada.
- parameters
- IEnumerable<ParameterExpression>
Um IEnumerable<T> que contém ParameterExpression objetos para usar para preencher a Parameters coleção.
Devoluções
A LambdaExpression que tem a NodeType propriedade igual a Lambda e as Body propriedades e Parameters definidas nos valores especificados.
Aplica-se a
Lambda(Expression, String, Boolean, IEnumerable<ParameterExpression>)
Cria-se LambdaExpression a construindo primeiro um tipo de delegado a partir do corpo da expressão, o nome para o lambda, um parâmetro que indica se será aplicada a otimização de chamadas de cauda, e uma coleção enumerável de expressões de parâmetros. 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);
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
E Expression para definir a Body propriedade igual a .
- name
- String
O nome do lambda. Usado para emitir informação de depuração.
- tailCall
- Boolean
A Boolean que indica se será aplicada otimização por chamadas de cauda ao compilar a expressão criada.
- parameters
- IEnumerable<ParameterExpression>
Um IEnumerable<T> que contém ParameterExpression objetos para usar para preencher a Parameters coleção.
Devoluções
A LambdaExpression que tem a NodeType propriedade igual a Lambda e as Body propriedades e Parameters definidas nos valores especificados.
Aplica-se a
Lambda(Type, Expression, ParameterExpression[])
Cria um LambdaExpression onde o tipo de delegado é conhecido em tempo de compilação, com um array de expressões de parâmetros.
public:
static System::Linq::Expressions::LambdaExpression ^ Lambda(Type ^ delegateType, System::Linq::Expressions::Expression ^ body, ... cli::array <System::Linq::Expressions::ParameterExpression ^> ^ parameters);
public static System.Linq.Expressions.LambdaExpression Lambda(Type delegateType, System.Linq.Expressions.Expression body, params System.Linq.Expressions.ParameterExpression[] parameters);
static member Lambda : Type * System.Linq.Expressions.Expression * System.Linq.Expressions.ParameterExpression[] -> System.Linq.Expressions.LambdaExpression
Public Shared Function Lambda (delegateType As Type, body As Expression, ParamArray parameters As ParameterExpression()) As LambdaExpression
Parâmetros
- body
- Expression
E Expression para definir a Body propriedade igual a .
- parameters
- ParameterExpression[]
Um conjunto de ParameterExpression objetos para preencher a Parameters coleção.
Devoluções
Um objeto que representa uma expressão lambda cuja NodeType propriedade é igual a Lambda e as Body propriedades and Parameters definidas aos 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. O tipo representa um tipo que não é atribuível ao tipo de retorno do tipo delegado representado por delegateType.
-ou-
parameters não contém o mesmo número de elementos que a lista de parâmetros para o tipo de delegado representada por delegateType.
-ou-
A Type propriedade de um elemento de parameters não é atribuível a partir do tipo do tipo de parâmetro correspondente do tipo delegado representado por delegateType.
Observações
O objeto que é devolvido desta função é do tipo Expression<TDelegate>. O LambdaExpression tipo é usado para representar o objeto devolvido 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 de delegado representado por delegateType deve ser igual ao comprimento de parameters.
Os elementos de parameters devem ser referências iguais às expressões de parâmetros em body.
A Type propriedade do objeto resultante é igual a delegateType. Se parameters for null, a Parameters propriedade do objeto resultante é uma coleção vazia.
Aplica-se a
Lambda(Type, Expression, Boolean, ParameterExpression[])
Cria um LambdaExpression onde o tipo de delegado é conhecido em tempo de compilação, com um parâmetro que indica se será aplicada otimização para chamadas de cauda, e um array de expressões de parâmetros.
public:
static System::Linq::Expressions::LambdaExpression ^ Lambda(Type ^ delegateType, System::Linq::Expressions::Expression ^ body, bool tailCall, ... cli::array <System::Linq::Expressions::ParameterExpression ^> ^ parameters);
public static System.Linq.Expressions.LambdaExpression Lambda(Type delegateType, System.Linq.Expressions.Expression body, bool tailCall, params System.Linq.Expressions.ParameterExpression[] parameters);
static member Lambda : Type * System.Linq.Expressions.Expression * bool * System.Linq.Expressions.ParameterExpression[] -> System.Linq.Expressions.LambdaExpression
Public Shared Function Lambda (delegateType As Type, body As Expression, tailCall As Boolean, ParamArray parameters As ParameterExpression()) As LambdaExpression
Parâmetros
- body
- Expression
E Expression para definir a Body propriedade igual a .
- tailCall
- Boolean
A Boolean que indica se será aplicada otimização por chamadas de cauda ao compilar a expressão criada.
- parameters
- ParameterExpression[]
Um array que contém ParameterExpression objetos para preencher a Parameters coleção.
Devoluções
A LambdaExpression que tem a NodeType propriedade igual a Lambda e as Body propriedades e Parameters definidas nos valores especificados.
Aplica-se a
Lambda(Expression, String, IEnumerable<ParameterExpression>)
Cria-se um LambdaExpression construindo primeiro um tipo de delegado a partir do corpo da expressão, o nome do lambda e uma coleção enumerável de expressões de parâmetros. 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);
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
E Expression para definir a Body propriedade igual a .
- name
- String
O nome do lambda. Usado para emitir informação de depuração.
- parameters
- IEnumerable<ParameterExpression>
Um IEnumerable<T> que contém ParameterExpression objetos para usar para preencher a Parameters coleção.
Devoluções
A LambdaExpression que tem a NodeType propriedade igual a Lambda e as Body propriedades e Parameters definidas nos valores especificados.
Aplica-se a
Lambda(Expression, Boolean, ParameterExpression[])
Cria um LambdaExpression construindo primeiro um tipo de delegado a partir do corpo da expressão, um parâmetro que indica se será aplicada otimização para chamadas de cauda, e um array de expressões de parâmetros. 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);
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
E Expression para definir a Body propriedade igual a .
- tailCall
- Boolean
A Boolean que indica se será aplicada otimização por chamadas de cauda ao compilar a expressão criada.
- parameters
- ParameterExpression[]
Um array que contém ParameterExpression objetos para preencher a Parameters coleção.
Devoluções
A LambdaExpression que tem a NodeType propriedade igual a Lambda e as Body propriedades e Parameters definidas nos valores especificados.
Aplica-se a
Lambda(Expression, Boolean, IEnumerable<ParameterExpression>)
Cria-se LambdaExpression a construindo primeiro um tipo de delegado a partir do corpo da expressão, um parâmetro que indica se será aplicada a otimização para chamadas de cauda, e uma coleção enumerável de expressões de parâmetros. 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);
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
E Expression para definir a Body propriedade igual a .
- tailCall
- Boolean
A Boolean que indica se será aplicada otimização por chamadas de cauda ao compilar a expressão criada.
- parameters
- IEnumerable<ParameterExpression>
Um IEnumerable<T> que contém ParameterExpression objetos para usar para preencher a Parameters coleção.
Devoluções
A LambdaExpression que tem a NodeType propriedade igual a Lambda e as Body propriedades e Parameters definidas nos valores especificados.
Aplica-se a
Lambda(Type, Expression, IEnumerable<ParameterExpression>)
Cria um LambdaExpression onde o tipo de delegado é conhecido em tempo de compilação, com uma coleção enumerável de expressões de parâmetros.
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
E Expression para definir a Body propriedade igual a .
- parameters
- IEnumerable<ParameterExpression>
Um IEnumerable<T> que contém ParameterExpression objetos para usar para preencher a Parameters coleção.
Devoluções
Um objeto que representa uma expressão lambda cuja NodeType propriedade é igual a Lambda e as Body propriedades and Parameters definidas aos 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. O tipo representa um tipo que não é atribuível ao tipo de retorno do tipo delegado representado por delegateType.
-ou-
parameters não contém o mesmo número de elementos que a lista de parâmetros para o tipo de delegado representada por delegateType.
-ou-
A Type propriedade de um elemento de parameters não é atribuível a partir do tipo do tipo de parâmetro correspondente do tipo delegado representado por delegateType.
Exemplos
O exemplo seguinte 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
Observações
O objeto que é devolvido desta função é do tipo Expression<TDelegate>. O LambdaExpression tipo é usado para representar o objeto devolvido 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 de delegado representado pordelegateType deve ser igual ao comprimento de parameters.
Os elementos de parameters devem ser referências iguais às expressões de parâmetros em body.
A Type propriedade do objeto resultante é igual a delegateType. Se parameters for null, a Parameters propriedade do objeto resultante é uma coleção vazia.
Aplica-se a
Lambda(Expression, ParameterExpression[])
Cria um LambdaExpression construindo primeiro um tipo de delegado a partir do corpo da expressão, e um array de expressões de parâmetros. 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);
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
E Expression para definir a Body propriedade igual a .
- parameters
- ParameterExpression[]
Um conjunto de ParameterExpression objetos para preencher a Parameters coleção.
Devoluções
A LambdaExpression que tem a NodeType propriedade igual a Lambda e as Body propriedades e Parameters definidas com os valores especificados.
Exceções
parameters contém mais de dezasseis elementos.
Observações
O parameters parâmetro não deve ter mais de dezasseis elementos.
Os elementos de parameters devem ser referências iguais às expressões de parâmetros em body.
Este método constrói um tipo de delegado apropriado a partir de um dos System.Func delegados genéricos. Depois, passa o tipo delegado para um dos Lambda métodos de fábrica para criar um LambdaExpression.
Aplica-se a
Lambda(Expression, IEnumerable<ParameterExpression>)
Cria um LambdaExpression construindo primeiro um tipo de delegado a partir do corpo da expressão, e uma coleção enumerável de expressões de parâmetros. 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);
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
E Expression para definir a Body propriedade igual a .
- parameters
- IEnumerable<ParameterExpression>
Um IEnumerable<T> que contém ParameterExpression objetos para usar para preencher a Parameters coleção.
Devoluções
A LambdaExpression que tem a NodeType propriedade igual a Lambda e as Body propriedades e Parameters definidas nos valores especificados.
Aplica-se a
Lambda<TDelegate>(Expression, String, IEnumerable<ParameterExpression>)
Cria um Expression<TDelegate> onde o tipo de delegado é conhecido em tempo de compilação, com o nome para a lambda, e uma coleção enumerável de expressões de parâmetros.
public:
generic <typename TDelegate>
static System::Linq::Expressions::Expression<TDelegate> ^ Lambda(System::Linq::Expressions::Expression ^ body, System::String ^ name, System::Collections::Generic::IEnumerable<System::Linq::Expressions::ParameterExpression ^> ^ parameters);
public static System.Linq.Expressions.Expression<TDelegate> Lambda<TDelegate>(System.Linq.Expressions.Expression body, string name, System.Collections.Generic.IEnumerable<System.Linq.Expressions.ParameterExpression> parameters);
static member Lambda : System.Linq.Expressions.Expression * string * seq<System.Linq.Expressions.ParameterExpression> -> System.Linq.Expressions.Expression<'Delegate>
Public Shared Function Lambda(Of TDelegate) (body As Expression, name As String, parameters As IEnumerable(Of ParameterExpression)) As Expression(Of TDelegate)
Parâmetros de Tipo Genérico
- TDelegate
Do tipo delegado.
Parâmetros
- body
- Expression
E Expression para definir a Body propriedade igual a .
- name
- String
O nome do lambda. Usado para gerar informação de depuração.
- parameters
- IEnumerable<ParameterExpression>
Um IEnumerable<T> que contém ParameterExpression objetos para usar para preencher a Parameters coleção.
Devoluções
Um Expression<TDelegate> que tem a NodeType propriedade igual a Lambda e as Body propriedades e Parameters definidas com os valores especificados.
Aplica-se a
Lambda<TDelegate>(Expression, Boolean, ParameterExpression[])
Cria um Expression<TDelegate> onde o tipo de delegado é conhecido em tempo de compilação, com um parâmetro que indica se será aplicada otimização para chamadas de cauda, e um array de expressões de parâmetros.
public:
generic <typename TDelegate>
static System::Linq::Expressions::Expression<TDelegate> ^ Lambda(System::Linq::Expressions::Expression ^ body, bool tailCall, ... cli::array <System::Linq::Expressions::ParameterExpression ^> ^ parameters);
public static System.Linq.Expressions.Expression<TDelegate> Lambda<TDelegate>(System.Linq.Expressions.Expression body, bool tailCall, params System.Linq.Expressions.ParameterExpression[] parameters);
static member Lambda : System.Linq.Expressions.Expression * bool * System.Linq.Expressions.ParameterExpression[] -> System.Linq.Expressions.Expression<'Delegate>
Public Shared Function Lambda(Of TDelegate) (body As Expression, tailCall As Boolean, ParamArray parameters As ParameterExpression()) As Expression(Of TDelegate)
Parâmetros de Tipo Genérico
- TDelegate
Do tipo delegado.
Parâmetros
- body
- Expression
E Expression para definir a Body propriedade igual a .
- tailCall
- Boolean
A Boolean que indica se será aplicada otimização por chamadas de cauda ao compilar a expressão criada.
- parameters
- ParameterExpression[]
Um array que contém ParameterExpression objetos para preencher a Parameters coleção.
Devoluções
Um Expression<TDelegate> que tem a NodeType propriedade igual a Lambda e as Body propriedades e Parameters definidas com os valores especificados.
Aplica-se a
Lambda<TDelegate>(Expression, String, Boolean, IEnumerable<ParameterExpression>)
Cria um Expression<TDelegate> onde o tipo de delegado é conhecido em tempo de compilação, com o nome para o lambda, um parâmetro que indica se será aplicada a otimização de chamadas de cauda, e uma coleção enumerável de expressões de parâmetros.
public:
generic <typename TDelegate>
static System::Linq::Expressions::Expression<TDelegate> ^ Lambda(System::Linq::Expressions::Expression ^ body, System::String ^ name, bool tailCall, System::Collections::Generic::IEnumerable<System::Linq::Expressions::ParameterExpression ^> ^ parameters);
public static System.Linq.Expressions.Expression<TDelegate> Lambda<TDelegate>(System.Linq.Expressions.Expression body, string name, bool tailCall, System.Collections.Generic.IEnumerable<System.Linq.Expressions.ParameterExpression> parameters);
static member Lambda : System.Linq.Expressions.Expression * string * bool * seq<System.Linq.Expressions.ParameterExpression> -> System.Linq.Expressions.Expression<'Delegate>
Public Shared Function Lambda(Of TDelegate) (body As Expression, name As String, tailCall As Boolean, parameters As IEnumerable(Of ParameterExpression)) As Expression(Of TDelegate)
Parâmetros de Tipo Genérico
- TDelegate
Do tipo delegado.
Parâmetros
- body
- Expression
E Expression para definir a Body propriedade igual a .
- name
- String
O nome do lambda. Usado para gerar informação de depuração.
- tailCall
- Boolean
A Boolean que indica se será aplicada otimização por chamadas de cauda ao compilar a expressão criada.
- parameters
- IEnumerable<ParameterExpression>
Um IEnumerable<T> que contém ParameterExpression objetos para usar para preencher a Parameters coleção.
Devoluções
Um Expression<TDelegate> que tem a NodeType propriedade igual a Lambda e as Body propriedades e Parameters definidas com os valores especificados.
Aplica-se a
Lambda<TDelegate>(Expression, ParameterExpression[])
Cria um Expression<TDelegate> onde o tipo de delegado é conhecido em tempo de compilação, com um array de expressões de parâmetros.
public:
generic <typename TDelegate>
static System::Linq::Expressions::Expression<TDelegate> ^ Lambda(System::Linq::Expressions::Expression ^ body, ... cli::array <System::Linq::Expressions::ParameterExpression ^> ^ parameters);
public static System.Linq.Expressions.Expression<TDelegate> Lambda<TDelegate>(System.Linq.Expressions.Expression body, params System.Linq.Expressions.ParameterExpression[] parameters);
static member Lambda : System.Linq.Expressions.Expression * System.Linq.Expressions.ParameterExpression[] -> System.Linq.Expressions.Expression<'Delegate>
Public Shared Function Lambda(Of TDelegate) (body As Expression, ParamArray parameters As ParameterExpression()) As Expression(Of TDelegate)
Parâmetros de Tipo Genérico
- TDelegate
Um tipo de delegado.
Parâmetros
- body
- Expression
E Expression para definir a Body propriedade igual a .
- parameters
- ParameterExpression[]
Um conjunto de ParameterExpression objetos para preencher a Parameters coleção.
Devoluções
Um Expression<TDelegate> que tem a NodeType propriedade igual a Lambda e as Body propriedades e Parameters definidas com os valores especificados.
Exceções
TDelegate não é do tipo delegado.
-ou-
body. O tipo representa um tipo que não é atribuível ao tipo de retorno de TDelegate.
-ou-
parameters não contém o mesmo número de elementos que a lista de parâmetros para TDelegate.
-ou-
A Type propriedade de um elemento de parameters não é atribuível a partir do tipo do tipo de parâmetro correspondente de TDelegate.
Observações
O número de parâmetros para o tipo TDelegate de 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âmetros embody.
A Type propriedade do objeto resultante representa o tipo TDelegate. Se parameters for null, a Parameters propriedade do objeto resultante é uma coleção vazia.
Aplica-se a
Lambda<TDelegate>(Expression, IEnumerable<ParameterExpression>)
Cria um Expression<TDelegate> onde o tipo de delegado é conhecido em tempo de compilação, com uma coleção enumerável de expressões de parâmetros.
public:
generic <typename TDelegate>
static System::Linq::Expressions::Expression<TDelegate> ^ Lambda(System::Linq::Expressions::Expression ^ body, System::Collections::Generic::IEnumerable<System::Linq::Expressions::ParameterExpression ^> ^ parameters);
public static System.Linq.Expressions.Expression<TDelegate> Lambda<TDelegate>(System.Linq.Expressions.Expression body, System.Collections.Generic.IEnumerable<System.Linq.Expressions.ParameterExpression> parameters);
static member Lambda : System.Linq.Expressions.Expression * seq<System.Linq.Expressions.ParameterExpression> -> System.Linq.Expressions.Expression<'Delegate>
Public Shared Function Lambda(Of TDelegate) (body As Expression, parameters As IEnumerable(Of ParameterExpression)) As Expression(Of TDelegate)
Parâmetros de Tipo Genérico
- TDelegate
Um tipo de delegado.
Parâmetros
- body
- Expression
E Expression para definir a Body propriedade igual a .
- parameters
- IEnumerable<ParameterExpression>
Um IEnumerable<T> que contém ParameterExpression objetos para usar para preencher a Parameters coleção.
Devoluções
Um Expression<TDelegate> que tem a NodeType propriedade igual a Lambda e as Body propriedades e Parameters definidas com os valores especificados.
Exceções
TDelegate não é do tipo delegado.
-ou-
body. O tipo representa um tipo que não é atribuível ao tipo de retorno de TDelegate.
-ou-
parameters não contém o mesmo número de elementos que a lista de parâmetros para TDelegate.
-ou-
A Type propriedade de um elemento de parameters não é atribuível a partir do tipo do tipo de parâmetro correspondente de TDelegate.
Observações
O número de parâmetros para o tipo TDelegate de 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âmetros em body.
A Type propriedade do objeto resultante representa o tipo TDelegate. Se parameters for null, a Parameters propriedade do objeto resultante é uma coleção vazia.
Aplica-se a
Lambda<TDelegate>(Expression, Boolean, IEnumerable<ParameterExpression>)
Cria um Expression<TDelegate> onde o tipo de delegado é conhecido em tempo de compilação, com um parâmetro que indica se será aplicada otimização para chamadas de cauda, e uma coleção enumerável de expressões de parâmetros.
public:
generic <typename TDelegate>
static System::Linq::Expressions::Expression<TDelegate> ^ Lambda(System::Linq::Expressions::Expression ^ body, bool tailCall, System::Collections::Generic::IEnumerable<System::Linq::Expressions::ParameterExpression ^> ^ parameters);
public static System.Linq.Expressions.Expression<TDelegate> Lambda<TDelegate>(System.Linq.Expressions.Expression body, bool tailCall, System.Collections.Generic.IEnumerable<System.Linq.Expressions.ParameterExpression> parameters);
static member Lambda : System.Linq.Expressions.Expression * bool * seq<System.Linq.Expressions.ParameterExpression> -> System.Linq.Expressions.Expression<'Delegate>
Public Shared Function Lambda(Of TDelegate) (body As Expression, tailCall As Boolean, parameters As IEnumerable(Of ParameterExpression)) As Expression(Of TDelegate)
Parâmetros de Tipo Genérico
- TDelegate
Do tipo delegado.
Parâmetros
- body
- Expression
E Expression para definir a Body propriedade igual a .
- tailCall
- Boolean
A Boolean que indica se será aplicada otimização por chamadas de cauda ao compilar a expressão criada.
- parameters
- IEnumerable<ParameterExpression>
Um IEnumerable<T> que contém ParameterExpression objetos para usar para preencher a Parameters coleção.
Devoluções
Um Expression<TDelegate> que tem a NodeType propriedade igual a Lambda e as Body propriedades e Parameters definidas com os valores especificados.