Expression.Lambda Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Crea un árbol de expresión que representa una expresión lambda.
Sobrecargas
Lambda(Type, Expression, String, Boolean, IEnumerable<ParameterExpression>) |
Crea una clase LambdaExpression en la que el tipo de delegado se conoce en el momento de la compilación, con el nombre de la expresión lambda, un parámetro que indica si se aplicará la optimización de la llamada de cola y una colección enumerable de expresiones de parámetros. |
Lambda(Type, Expression, String, IEnumerable<ParameterExpression>) |
Crea una clase LambdaExpression en la que el tipo de delegado se conoce en el momento de la compilación, con el nombre de la expresión lambda y una colección enumerable de expresiones de parámetros. |
Lambda(Type, Expression, Boolean, IEnumerable<ParameterExpression>) |
Crea una clase LambdaExpression en la que el tipo de delegado se conoce en el momento de la compilación, con un parámetro que indica si se aplicará la optimización de la llamada de cola y una colección enumerable de expresiones de parámetros. |
Lambda(Expression, String, Boolean, IEnumerable<ParameterExpression>) |
Crea una clase LambdaExpression construyendo primero un tipo de delegado a partir del cuerpo de la expresión, el nombre de la expresión lambda, un parámetro que indica si se aplicará la optimización de la llamada de cola y una colección enumerable de expresiones de parámetros. Se puede usar cuando no se conoce el tipo de delegado en tiempo de compilación. |
Lambda(Type, Expression, ParameterExpression[]) |
Crea una clase LambdaExpression en la que el tipo de delegado se conoce en el momento de la compilación, con una colección enumerable de expresiones de parámetros. |
Lambda(Type, Expression, Boolean, ParameterExpression[]) |
Crea una clase LambdaExpression en la que el tipo de delegado se conoce en el momento de la compilación, con un parámetro que indica si se aplicará la optimización de la llamada de cola y una matriz de expresiones de parámetros. |
Lambda(Expression, String, IEnumerable<ParameterExpression>) |
Crea una clase LambdaExpression construyendo primero un tipo de delegado a partir del cuerpo de la expresión, el nombre de la expresión lambda y una colección enumerable de expresiones de parámetros. Se puede usar cuando no se conoce el tipo de delegado en tiempo de compilación. |
Lambda(Expression, Boolean, ParameterExpression[]) |
Crea una clase LambdaExpression construyendo primero un tipo de delegado a partir del cuerpo de la expresión, un parámetro que indica si se aplicará la optimización de la llamada de cola y una matriz de expresiones de parámetros. Se puede usar cuando no se conoce el tipo de delegado en tiempo de compilación. |
Lambda(Expression, Boolean, IEnumerable<ParameterExpression>) |
Crea una clase LambdaExpression construyendo primero un tipo de delegado a partir del cuerpo de la expresión, un parámetro que indica si se aplicará la optimización de la llamada de cola y una colección enumerable de expresiones de parámetros. Se puede usar cuando no se conoce el tipo de delegado en tiempo de compilación. |
Lambda(Type, Expression, IEnumerable<ParameterExpression>) |
Crea una clase LambdaExpression en la que el tipo de delegado se conoce en el momento de la compilación, con una colección enumerable de expresiones de parámetros. |
Lambda(Expression, ParameterExpression[]) |
Crea una clase LambdaExpression construyendo primero un tipo de delegado a partir del cuerpo de la expresión y una matriz de expresiones de parámetros. Se puede usar cuando no se conoce el tipo de delegado en tiempo de compilación. |
Lambda(Expression, IEnumerable<ParameterExpression>) |
Crea una clase LambdaExpression construyendo primero un tipo de delegado a partir del cuerpo de la expresión y una colección enumerable de expresiones de parámetros. Se puede usar cuando no se conoce el tipo de delegado en tiempo de compilación. |
Lambda<TDelegate>(Expression, String, IEnumerable<ParameterExpression>) |
Crea una clase Expression<TDelegate> en la que el tipo de delegado se conoce en el momento de la compilación, con el nombre de la expresión lambda y una colección enumerable de expresiones de parámetros. |
Lambda<TDelegate>(Expression, Boolean, ParameterExpression[]) |
Crea una clase Expression<TDelegate> en la que el tipo de delegado se conoce en el momento de la compilación, con un parámetro que indica si se aplicará la optimización de la llamada de cola y una matriz de expresiones de parámetros. |
Lambda<TDelegate>(Expression, String, Boolean, IEnumerable<ParameterExpression>) |
Crea una clase Expression<TDelegate> en la que el tipo de delegado se conoce en el momento de la compilación, con el nombre de la expresión lambda, un parámetro que indica si se aplicará la optimización de la llamada de cola y una colección enumerable de expresiones de parámetros. |
Lambda<TDelegate>(Expression, ParameterExpression[]) |
Crea una clase Expression<TDelegate> en la que el tipo de delegado se conoce en el momento de la compilación, con una matriz de expresiones de parámetros. |
Lambda<TDelegate>(Expression, IEnumerable<ParameterExpression>) |
Crea una clase Expression<TDelegate> en la que el tipo de delegado se conoce en el momento de la compilación, con una colección enumerable de expresiones de parámetros. |
Lambda<TDelegate>(Expression, Boolean, IEnumerable<ParameterExpression>) |
Crea una clase Expression<TDelegate> en la que el tipo de delegado se conoce en el momento de la compilación, con un parámetro que indica si se aplicará la optimización de la llamada de cola y una colección enumerable de expresiones de parámetros. |
Lambda(Type, Expression, String, Boolean, IEnumerable<ParameterExpression>)
- Source:
- LambdaExpression.cs
- Source:
- LambdaExpression.cs
- Source:
- LambdaExpression.cs
Crea una clase LambdaExpression en la que el tipo de delegado se conoce en el momento de la compilación, con el nombre de la expresión lambda, un parámetro que indica si se aplicará la optimización de la llamada de cola y una colección enumerable de expresiones 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);
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
Objeto Expression en el que se va a establecer la propiedad Body.
- name
- String
Nombre de la expresión lambda. Se usa para emitir información de depuración.
- tailCall
- Boolean
Boolean que indica si se aplicará la optimización de llamada de cola al compilar la expresión creada.
- parameters
- IEnumerable<ParameterExpression>
IEnumerable<T> que contiene los objetos ParameterExpression que se van a usar para rellenar la colección de Parameters.
Devoluciones
LambdaExpression cuya propiedad NodeType es igual a Lambda y cuyas propiedades Body y Parameters se establecen en los valores especificados.
Se aplica a
Lambda(Type, Expression, String, IEnumerable<ParameterExpression>)
- Source:
- LambdaExpression.cs
- Source:
- LambdaExpression.cs
- Source:
- LambdaExpression.cs
Crea una clase LambdaExpression en la que el tipo de delegado se conoce en el momento de la compilación, con el nombre de la expresión lambda y una colección enumerable de expresiones 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);
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
Objeto Expression en el que se va a establecer la propiedad Body.
- name
- String
Nombre de la expresión lambda. Se usa para emitir información de depuración.
- parameters
- IEnumerable<ParameterExpression>
IEnumerable<T> que contiene los objetos ParameterExpression que se van a usar para rellenar la colección de Parameters.
Devoluciones
LambdaExpression cuya propiedad NodeType es igual a Lambda y cuyas propiedades Body y Parameters se establecen en los valores especificados.
Se aplica a
Lambda(Type, Expression, Boolean, IEnumerable<ParameterExpression>)
- Source:
- LambdaExpression.cs
- Source:
- LambdaExpression.cs
- Source:
- LambdaExpression.cs
Crea una clase LambdaExpression en la que el tipo de delegado se conoce en el momento de la compilación, con un parámetro que indica si se aplicará la optimización de la llamada de cola y una colección enumerable de expresiones 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);
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
Objeto Expression en el que se va a establecer la propiedad Body.
- tailCall
- Boolean
Boolean que indica si se aplicará la optimización de llamada de cola al compilar la expresión creada.
- parameters
- IEnumerable<ParameterExpression>
IEnumerable<T> que contiene los objetos ParameterExpression que se van a usar para rellenar la colección de Parameters.
Devoluciones
LambdaExpression cuya propiedad NodeType es igual a Lambda y cuyas propiedades Body y Parameters se establecen en los valores especificados.
Se aplica a
Lambda(Expression, String, Boolean, IEnumerable<ParameterExpression>)
- Source:
- LambdaExpression.cs
- Source:
- LambdaExpression.cs
- Source:
- LambdaExpression.cs
Crea una clase LambdaExpression construyendo primero un tipo de delegado a partir del cuerpo de la expresión, el nombre de la expresión lambda, un parámetro que indica si se aplicará la optimización de la llamada de cola y una colección enumerable de expresiones de parámetros. Se puede usar cuando no se conoce el tipo de delegado en tiempo de compilación.
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
Objeto Expression en el que se va a establecer la propiedad Body.
- name
- String
Nombre de la expresión lambda. Se usa para emitir información de depuración.
- tailCall
- Boolean
Boolean que indica si se aplicará la optimización de llamada de cola al compilar la expresión creada.
- parameters
- IEnumerable<ParameterExpression>
IEnumerable<T> que contiene los objetos ParameterExpression que se van a usar para rellenar la colección de Parameters.
Devoluciones
LambdaExpression cuya propiedad NodeType es igual a Lambda y cuyas propiedades Body y Parameters se establecen en los valores especificados.
Se aplica a
Lambda(Type, Expression, ParameterExpression[])
- Source:
- LambdaExpression.cs
- Source:
- LambdaExpression.cs
- Source:
- LambdaExpression.cs
Crea una clase LambdaExpression en la que el tipo de delegado se conoce en el momento de la compilación, con una colección enumerable de expresiones 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);
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
Objeto Expression en el que se va a establecer la propiedad Body.
- parameters
- ParameterExpression[]
Matriz de objetos ParameterExpression que se va a usar para rellenar la colección de Parameters.
Devoluciones
Objeto que representa una expresión lambda cuya propiedad NodeType es Lambda y cuyas propiedades Body y Parameters se establecen en los valores especificados.
Excepciones
delegateType
o body
es null
.
o bien
Uno o más elementos de parameters
son null
.
delegateType
no representa un tipo de delegado.
o bien
body
.Type representa un tipo que no se puede asignar al tipo de valor devuelto del tipo de delegado representado por delegateType
.
o bien
parameters
no contiene el mismo número de elementos que la lista de parámetros para el tipo de delegado representado por delegateType
.
o bien
La propiedad Type de un elemento de parameters
no se puede asignar desde el tipo del correspondiente tipo de parámetro del tipo de delegado representado por delegateType
.
Comentarios
El objeto que se devuelve de esta función es de tipo Expression<TDelegate>. El LambdaExpression tipo se usa para representar el objeto devuelto porque el tipo concreto de la expresión lambda no se conoce en tiempo de compilación.
El número de parámetros para el tipo delegado representado por delegateType
debe ser igual a la longitud de parameters
.
Los elementos de parameters
deben ser iguales a las expresiones de parámetro en body
.
La Type propiedad del objeto resultante es igual a delegateType
. Si parameters
es null
, la Parameters propiedad del objeto resultante es una colección vacía.
Se aplica a
Lambda(Type, Expression, Boolean, ParameterExpression[])
- Source:
- LambdaExpression.cs
- Source:
- LambdaExpression.cs
- Source:
- LambdaExpression.cs
Crea una clase LambdaExpression en la que el tipo de delegado se conoce en el momento de la compilación, con un parámetro que indica si se aplicará la optimización de la llamada de cola y una matriz de expresiones 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);
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
Objeto Expression en el que se va a establecer la propiedad Body.
- tailCall
- Boolean
Boolean que indica si se aplicará la optimización de llamada de cola al compilar la expresión creada.
- parameters
- ParameterExpression[]
Matriz que contiene los objetos ParameterExpression que se van a usar para rellenar la colección de Parameters.
Devoluciones
LambdaExpression cuya propiedad NodeType es igual a Lambda y cuyas propiedades Body y Parameters se establecen en los valores especificados.
Se aplica a
Lambda(Expression, String, IEnumerable<ParameterExpression>)
- Source:
- LambdaExpression.cs
- Source:
- LambdaExpression.cs
- Source:
- LambdaExpression.cs
Crea una clase LambdaExpression construyendo primero un tipo de delegado a partir del cuerpo de la expresión, el nombre de la expresión lambda y una colección enumerable de expresiones de parámetros. Se puede usar cuando no se conoce el tipo de delegado en tiempo de compilación.
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
Objeto Expression en el que se va a establecer la propiedad Body.
- name
- String
Nombre de la expresión lambda. Se usa para emitir información de depuración.
- parameters
- IEnumerable<ParameterExpression>
IEnumerable<T> que contiene los objetos ParameterExpression que se van a usar para rellenar la colección de Parameters.
Devoluciones
LambdaExpression cuya propiedad NodeType es igual a Lambda y cuyas propiedades Body y Parameters se establecen en los valores especificados.
Se aplica a
Lambda(Expression, Boolean, ParameterExpression[])
- Source:
- LambdaExpression.cs
- Source:
- LambdaExpression.cs
- Source:
- LambdaExpression.cs
Crea una clase LambdaExpression construyendo primero un tipo de delegado a partir del cuerpo de la expresión, un parámetro que indica si se aplicará la optimización de la llamada de cola y una matriz de expresiones de parámetros. Se puede usar cuando no se conoce el tipo de delegado en tiempo de compilación.
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
Objeto Expression en el que se va a establecer la propiedad Body.
- tailCall
- Boolean
Boolean que indica si se aplicará la optimización de llamada de cola al compilar la expresión creada.
- parameters
- ParameterExpression[]
Matriz que contiene los objetos ParameterExpression que se van a usar para rellenar la colección de Parameters.
Devoluciones
LambdaExpression cuya propiedad NodeType es igual a Lambda y cuyas propiedades Body y Parameters se establecen en los valores especificados.
Se aplica a
Lambda(Expression, Boolean, IEnumerable<ParameterExpression>)
- Source:
- LambdaExpression.cs
- Source:
- LambdaExpression.cs
- Source:
- LambdaExpression.cs
Crea una clase LambdaExpression construyendo primero un tipo de delegado a partir del cuerpo de la expresión, un parámetro que indica si se aplicará la optimización de la llamada de cola y una colección enumerable de expresiones de parámetros. Se puede usar cuando no se conoce el tipo de delegado en tiempo de compilación.
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
Objeto Expression en el que se va a establecer la propiedad Body.
- tailCall
- Boolean
Boolean que indica si se aplicará la optimización de llamada de cola al compilar la expresión creada.
- parameters
- IEnumerable<ParameterExpression>
IEnumerable<T> que contiene los objetos ParameterExpression que se van a usar para rellenar la colección de Parameters.
Devoluciones
LambdaExpression cuya propiedad NodeType es igual a Lambda y cuyas propiedades Body y Parameters se establecen en los valores especificados.
Se aplica a
Lambda(Type, Expression, IEnumerable<ParameterExpression>)
- Source:
- LambdaExpression.cs
- Source:
- LambdaExpression.cs
- Source:
- LambdaExpression.cs
Crea una clase LambdaExpression en la que el tipo de delegado se conoce en el momento de la compilación, con una colección enumerable de expresiones 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);
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
Objeto Expression en el que se va a establecer la propiedad Body.
- parameters
- IEnumerable<ParameterExpression>
IEnumerable<T> que contiene los objetos ParameterExpression que se van a usar para rellenar la colección de Parameters.
Devoluciones
Objeto que representa una expresión lambda cuya propiedad NodeType es Lambda y cuyas propiedades Body y Parameters se establecen en los valores especificados.
Excepciones
delegateType
o body
es null
.
o bien
Uno o más elementos de parameters
son null
.
delegateType
no representa un tipo de delegado.
o bien
body
.Type representa un tipo que no se puede asignar al tipo de valor devuelto del tipo de delegado representado por delegateType
.
o bien
parameters
no contiene el mismo número de elementos que la lista de parámetros para el tipo de delegado representado por delegateType
.
o bien
La propiedad Type de un elemento de parameters
no se puede asignar desde el tipo del correspondiente tipo de parámetro del tipo de delegado representado por delegateType
.
Ejemplos
En el ejemplo siguiente se muestra cómo crear una expresión que representa una expresión lambda que agrega 1 al argumento pasado.
// 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
Comentarios
El objeto que se devuelve de esta función es de tipo Expression<TDelegate>. El LambdaExpression tipo se usa para representar el objeto devuelto porque el tipo concreto de la expresión lambda no se conoce en tiempo de compilación.
El número de parámetros para el tipo delegado representado pordelegateType
debe ser igual a la longitud de parameters
.
Los elementos de parameters
deben ser iguales a las expresiones de parámetro en body
.
La Type propiedad del objeto resultante es igual a delegateType
. Si parameters
es null
, la Parameters propiedad del objeto resultante es una colección vacía.
Se aplica a
Lambda(Expression, ParameterExpression[])
- Source:
- LambdaExpression.cs
- Source:
- LambdaExpression.cs
- Source:
- LambdaExpression.cs
Crea una clase LambdaExpression construyendo primero un tipo de delegado a partir del cuerpo de la expresión y una matriz de expresiones de parámetros. Se puede usar cuando no se conoce el tipo de delegado en tiempo de compilación.
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
Objeto Expression en el que se va a establecer la propiedad Body.
- parameters
- ParameterExpression[]
Matriz de objetos ParameterExpression que se va a usar para rellenar la colección de Parameters.
Devoluciones
LambdaExpression cuya propiedad NodeType es Lambda y cuyas propiedades Body y Parameters se establecen en los valores especificados.
Excepciones
parameters
contiene más de dieciséis elementos.
Comentarios
El parameters
parámetro no debe tener más de dieciséis elementos.
Los elementos de parameters
deben ser iguales a las expresiones de parámetro en body
.
Este método construye un tipo delegado adecuado a partir de uno de los System.Func
delegados genéricos. A continuación, pasa el tipo de delegado a uno de los Lambda métodos de fábrica para crear un LambdaExpression.
Se aplica a
Lambda(Expression, IEnumerable<ParameterExpression>)
- Source:
- LambdaExpression.cs
- Source:
- LambdaExpression.cs
- Source:
- LambdaExpression.cs
Crea una clase LambdaExpression construyendo primero un tipo de delegado a partir del cuerpo de la expresión y una colección enumerable de expresiones de parámetros. Se puede usar cuando no se conoce el tipo de delegado en tiempo de compilación.
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
Objeto Expression en el que se va a establecer la propiedad Body.
- parameters
- IEnumerable<ParameterExpression>
IEnumerable<T> que contiene los objetos ParameterExpression que se van a usar para rellenar la colección de Parameters.
Devoluciones
LambdaExpression cuya propiedad NodeType es igual a Lambda y cuyas propiedades Body y Parameters se establecen en los valores especificados.
Se aplica a
Lambda<TDelegate>(Expression, String, IEnumerable<ParameterExpression>)
- Source:
- LambdaExpression.cs
- Source:
- LambdaExpression.cs
- Source:
- LambdaExpression.cs
Crea una clase Expression<TDelegate> en la que el tipo de delegado se conoce en el momento de la compilación, con el nombre de la expresión lambda y una colección enumerable de expresiones 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);
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
Tipo de delegado.
Parámetros
- body
- Expression
Objeto Expression en el que se va a establecer la propiedad Body.
- name
- String
Nombre de la expresión lambda. Se usa para emitir información de depuración.
- parameters
- IEnumerable<ParameterExpression>
IEnumerable<T> que contiene los objetos ParameterExpression que se van a usar para rellenar la colección de Parameters.
Devoluciones
Expression<TDelegate> cuya propiedad NodeType es Lambda y cuyas propiedades Body y Parameters se establecen en los valores especificados.
Se aplica a
Lambda<TDelegate>(Expression, Boolean, ParameterExpression[])
- Source:
- LambdaExpression.cs
- Source:
- LambdaExpression.cs
- Source:
- LambdaExpression.cs
Crea una clase Expression<TDelegate> en la que el tipo de delegado se conoce en el momento de la compilación, con un parámetro que indica si se aplicará la optimización de la llamada de cola y una matriz de expresiones 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);
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
Tipo de delegado.
Parámetros
- body
- Expression
Objeto Expression en el que se va a establecer la propiedad Body.
- tailCall
- Boolean
Boolean que indica si se aplicará la optimización de llamada de cola al compilar la expresión creada.
- parameters
- ParameterExpression[]
Matriz que contiene los objetos ParameterExpression que se van a usar para rellenar la colección de Parameters.
Devoluciones
Expression<TDelegate> cuya propiedad NodeType es Lambda y cuyas propiedades Body y Parameters se establecen en los valores especificados.
Se aplica a
Lambda<TDelegate>(Expression, String, Boolean, IEnumerable<ParameterExpression>)
- Source:
- LambdaExpression.cs
- Source:
- LambdaExpression.cs
- Source:
- LambdaExpression.cs
Crea una clase Expression<TDelegate> en la que el tipo de delegado se conoce en el momento de la compilación, con el nombre de la expresión lambda, un parámetro que indica si se aplicará la optimización de la llamada de cola y una colección enumerable de expresiones 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);
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
Tipo de delegado.
Parámetros
- body
- Expression
Objeto Expression en el que se va a establecer la propiedad Body.
- name
- String
Nombre de la expresión lambda. Se usa para emitir información de depuración.
- tailCall
- Boolean
Boolean que indica si se aplicará la optimización de llamada de cola al compilar la expresión creada.
- parameters
- IEnumerable<ParameterExpression>
IEnumerable<T> que contiene los objetos ParameterExpression que se van a usar para rellenar la colección de Parameters.
Devoluciones
Expression<TDelegate> cuya propiedad NodeType es Lambda y cuyas propiedades Body y Parameters se establecen en los valores especificados.
Se aplica a
Lambda<TDelegate>(Expression, ParameterExpression[])
- Source:
- LambdaExpression.cs
- Source:
- LambdaExpression.cs
- Source:
- LambdaExpression.cs
Crea una clase Expression<TDelegate> en la que el tipo de delegado se conoce en el momento de la compilación, con una matriz de expresiones 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);
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
Tipo de delegado.
Parámetros
- body
- Expression
Objeto Expression en el que se va a establecer la propiedad Body.
- parameters
- ParameterExpression[]
Matriz de objetos ParameterExpression que se va a usar para rellenar la colección de Parameters.
Devoluciones
Expression<TDelegate> cuya propiedad NodeType es Lambda y cuyas propiedades Body y Parameters se establecen en los valores especificados.
Excepciones
TDelegate
no es un tipo de delegado.
o bien
body
.Type representa un tipo que no se puede asignar al tipo de valor devuelto de TDelegate
.
o bien
parameters
no contiene el mismo número de elementos que la lista de parámetros para TDelegate
.
o bien
La propiedad Type de un elemento de parameters
no se puede asignar desde el tipo del correspondiente tipo de parámetro de TDelegate
.
Comentarios
El número de parámetros para el tipo TDelegate
delegado debe ser igual al número de elementos de parameters
.
Los elementos de parameters
deben ser iguales a las expresiones de parámetro debody
.
La Type propiedad del objeto resultante representa el tipo TDelegate
. Si parameters
es null
, la Parameters propiedad del objeto resultante es una colección vacía.
Se aplica a
Lambda<TDelegate>(Expression, IEnumerable<ParameterExpression>)
- Source:
- LambdaExpression.cs
- Source:
- LambdaExpression.cs
- Source:
- LambdaExpression.cs
Crea una clase Expression<TDelegate> en la que el tipo de delegado se conoce en el momento de la compilación, con una colección enumerable de expresiones 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);
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
Tipo de delegado.
Parámetros
- body
- Expression
Objeto Expression en el que se va a establecer la propiedad Body.
- parameters
- IEnumerable<ParameterExpression>
IEnumerable<T> que contiene los objetos ParameterExpression que se van a usar para rellenar la colección de Parameters.
Devoluciones
Expression<TDelegate> cuya propiedad NodeType es Lambda y cuyas propiedades Body y Parameters se establecen en los valores especificados.
Excepciones
TDelegate
no es un tipo de delegado.
o bien
body
.Type representa un tipo que no se puede asignar al tipo de valor devuelto de TDelegate
.
o bien
parameters
no contiene el mismo número de elementos que la lista de parámetros para TDelegate
.
o bien
La propiedad Type de un elemento de parameters
no se puede asignar desde el tipo del correspondiente tipo de parámetro de TDelegate
.
Comentarios
El número de parámetros para el tipo TDelegate
delegado debe ser igual al número de elementos de parameters
.
Los elementos de parameters
deben ser iguales a las expresiones de parámetro en body
.
La Type propiedad del objeto resultante representa el tipo TDelegate
. Si parameters
es null
, la Parameters propiedad del objeto resultante es una colección vacía.
Se aplica a
Lambda<TDelegate>(Expression, Boolean, IEnumerable<ParameterExpression>)
- Source:
- LambdaExpression.cs
- Source:
- LambdaExpression.cs
- Source:
- LambdaExpression.cs
Crea una clase Expression<TDelegate> en la que el tipo de delegado se conoce en el momento de la compilación, con un parámetro que indica si se aplicará la optimización de la llamada de cola y una colección enumerable de expresiones 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);
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
Tipo de delegado.
Parámetros
- body
- Expression
Objeto Expression en el que se va a establecer la propiedad Body.
- tailCall
- Boolean
Boolean que indica si se aplicará la optimización de llamada de cola al compilar la expresión creada.
- parameters
- IEnumerable<ParameterExpression>
IEnumerable<T> que contiene los objetos ParameterExpression que se van a usar para rellenar la colección de Parameters.
Devoluciones
Expression<TDelegate> cuya propiedad NodeType es Lambda y cuyas propiedades Body y Parameters se establecen en los valores especificados.