Expression.Lambda Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Crée une arborescence d'expression qui représente une expression lambda.
Surcharges
Lambda(Type, Expression, String, Boolean, IEnumerable<ParameterExpression>) |
Crée un LambdaExpression où le type de délégué est connu au moment de la compilation, avec le nom de l’expression lambda, un paramètre qui indique si l’optimisation d’appel tail est appliquée et une collection énumérable d’expressions de paramètre. |
Lambda(Type, Expression, String, IEnumerable<ParameterExpression>) |
Crée un LambdaExpression où le type de délégué est connu au moment de la compilation, avec le nom de l’expression lambda et une collection énumérable d’expressions de paramètre. |
Lambda(Type, Expression, Boolean, IEnumerable<ParameterExpression>) |
Crée un LambdaExpression où le type de délégué est connu au moment de la compilation, avec un paramètre qui indique si l’optimisation d’appel tail est appliquée et une collection énumérable d’expressions de paramètre. |
Lambda(Expression, String, Boolean, IEnumerable<ParameterExpression>) |
Crée un LambdaExpression en commençant par construire un type de délégué à partir du corps d’expression, le nom de l’expression lambda, un paramètre qui indique si l’optimisation d’appel tail est appliquée et une collection énumérable d’expressions de paramètre. Peut être utilisé lorsque le type délégué n'est pas connu au moment de la compilation. |
Lambda(Type, Expression, ParameterExpression[]) |
Crée un LambdaExpression où le type de délégué est connu au moment de la compilation, avec un tableau d’expressions de paramètre. |
Lambda(Type, Expression, Boolean, ParameterExpression[]) |
Crée un LambdaExpression où le type de délégué est connu au moment de la compilation, avec un paramètre qui indique si l’optimisation d’appel tail est appliquée et un tableau d’expressions de paramètre. |
Lambda(Expression, String, IEnumerable<ParameterExpression>) |
Crée un LambdaExpression en commençant par construire un type de délégué à partir du corps d’expression, le nom de l’expression lambda et une collection énumérable d’expressions de paramètre. Peut être utilisé lorsque le type délégué n'est pas connu au moment de la compilation. |
Lambda(Expression, Boolean, ParameterExpression[]) |
Crée un LambdaExpression en commençant par construire un type de délégué à partir du corps d’expression, un paramètre qui indique si l’optimisation d’appel tail est appliquée et un tableau d’expressions de paramètre. Peut être utilisé lorsque le type délégué n'est pas connu au moment de la compilation. |
Lambda(Expression, Boolean, IEnumerable<ParameterExpression>) |
Crée un LambdaExpression en commençant par construire un type de délégué à partir du corps d’expression, un paramètre qui indique si l’optimisation d’appel tail est appliquée et une collection énumérable d’expressions de paramètre. Peut être utilisé lorsque le type délégué n'est pas connu au moment de la compilation. |
Lambda(Type, Expression, IEnumerable<ParameterExpression>) |
Crée un LambdaExpression où le type de délégué est connu au moment de la compilation, avec une collection énumérable d’expressions de paramètre. |
Lambda(Expression, ParameterExpression[]) |
Crée un LambdaExpression en commençant par construire un type de délégué à partir du corps d’expression et un tableau d’expressions de paramètre. Peut être utilisé lorsque le type délégué n'est pas connu au moment de la compilation. |
Lambda(Expression, IEnumerable<ParameterExpression>) |
Crée un LambdaExpression en commençant par construire un type de délégué à partir du corps d’expression et une collection énumérable d’expressions de paramètre. Peut être utilisé lorsque le type délégué n'est pas connu au moment de la compilation. |
Lambda<TDelegate>(Expression, String, IEnumerable<ParameterExpression>) |
Crée un Expression<TDelegate> où le type de délégué est connu au moment de la compilation, avec le nom de l’expression lambda et une collection énumérable d’expressions de paramètre. |
Lambda<TDelegate>(Expression, Boolean, ParameterExpression[]) |
Crée un Expression<TDelegate> où le type de délégué est connu au moment de la compilation, avec un paramètre qui indique si l’optimisation d’appel tail est appliquée et un tableau d’expressions de paramètre. |
Lambda<TDelegate>(Expression, String, Boolean, IEnumerable<ParameterExpression>) |
Crée un Expression<TDelegate> où le type de délégué est connu au moment de la compilation, avec le nom de l’expression lambda, un paramètre qui indique si l’optimisation d’appel tail est appliquée et une collection énumérable d’expressions de paramètre. |
Lambda<TDelegate>(Expression, ParameterExpression[]) |
Crée un Expression<TDelegate> où le type de délégué est connu au moment de la compilation, avec un tableau d’expressions de paramètre. |
Lambda<TDelegate>(Expression, IEnumerable<ParameterExpression>) |
Crée un Expression<TDelegate> où le type de délégué est connu au moment de la compilation, avec une collection énumérable d’expressions de paramètre. |
Lambda<TDelegate>(Expression, Boolean, IEnumerable<ParameterExpression>) |
Crée un Expression<TDelegate> où le type de délégué est connu au moment de la compilation, avec un paramètre qui indique si l’optimisation d’appel tail est appliquée et une collection énumérable d’expressions de paramètre. |
Lambda(Type, Expression, String, Boolean, IEnumerable<ParameterExpression>)
- Source:
- LambdaExpression.cs
- Source:
- LambdaExpression.cs
- Source:
- LambdaExpression.cs
Crée un LambdaExpression où le type de délégué est connu au moment de la compilation, avec le nom de l’expression lambda, un paramètre qui indique si l’optimisation d’appel tail est appliquée et une collection énumérable d’expressions de paramètre.
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
Paramètres
- body
- Expression
Expression auquel la propriété Body doit être égale.
- name
- String
Nom de l'expression lambda. Utilisé pour l'émission des informations de débogage.
- tailCall
- Boolean
Boolean qui indique si l'optimisation d'appel tail sera appliquée pendant la compilation de l'expression créée.
- parameters
- IEnumerable<ParameterExpression>
IEnumerable<T> qui contient des objets ParameterExpression à utiliser pour remplir la collection Parameters.
Retours
LambdaExpression dont la propriété NodeType est égale à Lambda et dont les propriétés Body et Parameters ont les valeurs spécifiées.
S’applique à
Lambda(Type, Expression, String, IEnumerable<ParameterExpression>)
- Source:
- LambdaExpression.cs
- Source:
- LambdaExpression.cs
- Source:
- LambdaExpression.cs
Crée un LambdaExpression où le type de délégué est connu au moment de la compilation, avec le nom de l’expression lambda et une collection énumérable d’expressions de paramètre.
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
Paramètres
- body
- Expression
Expression auquel la propriété Body doit être égale.
- name
- String
Nom de l'expression lambda. Utilisé pour l'émission des informations de débogage.
- parameters
- IEnumerable<ParameterExpression>
IEnumerable<T> qui contient des objets ParameterExpression à utiliser pour remplir la collection Parameters.
Retours
LambdaExpression dont la propriété NodeType est égale à Lambda et dont les propriétés Body et Parameters ont les valeurs spécifiées.
S’applique à
Lambda(Type, Expression, Boolean, IEnumerable<ParameterExpression>)
- Source:
- LambdaExpression.cs
- Source:
- LambdaExpression.cs
- Source:
- LambdaExpression.cs
Crée un LambdaExpression où le type de délégué est connu au moment de la compilation, avec un paramètre qui indique si l’optimisation d’appel tail est appliquée et une collection énumérable d’expressions de paramètre.
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
Paramètres
- body
- Expression
Expression auquel la propriété Body doit être égale.
- tailCall
- Boolean
Boolean qui indique si l'optimisation d'appel tail sera appliquée pendant la compilation de l'expression créée.
- parameters
- IEnumerable<ParameterExpression>
IEnumerable<T> qui contient des objets ParameterExpression à utiliser pour remplir la collection Parameters.
Retours
LambdaExpression dont la propriété NodeType est égale à Lambda et dont les propriétés Body et Parameters ont les valeurs spécifiées.
S’applique à
Lambda(Expression, String, Boolean, IEnumerable<ParameterExpression>)
- Source:
- LambdaExpression.cs
- Source:
- LambdaExpression.cs
- Source:
- LambdaExpression.cs
Crée un LambdaExpression en commençant par construire un type de délégué à partir du corps d’expression, le nom de l’expression lambda, un paramètre qui indique si l’optimisation d’appel tail est appliquée et une collection énumérable d’expressions de paramètre. Peut être utilisé lorsque le type délégué n'est pas connu au moment de la compilation.
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
Paramètres
- body
- Expression
Expression auquel la propriété Body doit être égale.
- name
- String
Nom de l'expression lambda. Utilisé pour l'émission des informations de débogage.
- tailCall
- Boolean
Boolean qui indique si l'optimisation d'appel tail sera appliquée pendant la compilation de l'expression créée.
- parameters
- IEnumerable<ParameterExpression>
IEnumerable<T> qui contient des objets ParameterExpression à utiliser pour remplir la collection Parameters.
Retours
LambdaExpression dont la propriété NodeType est égale à Lambda et dont les propriétés Body et Parameters ont les valeurs spécifiées.
S’applique à
Lambda(Type, Expression, ParameterExpression[])
- Source:
- LambdaExpression.cs
- Source:
- LambdaExpression.cs
- Source:
- LambdaExpression.cs
Crée un LambdaExpression où le type de délégué est connu au moment de la compilation, avec un tableau d’expressions de paramètre.
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
Paramètres
- body
- Expression
Expression auquel la propriété Body doit être égale.
- parameters
- ParameterExpression[]
Tableau d'objets ParameterExpression à utiliser pour remplir la collection Parameters.
Retours
Objet qui représente une expression lambda dont la propriété NodeType est égale à Lambda et dont les propriétés Body et Parameters ont les valeurs spécifiées.
Exceptions
delegateType
ou body
est null
.
- ou -
Un ou plusieurs éléments dans parameters
sont null
.
delegateType
ne représente pas un type délégué.
- ou -
body
.Type représente un type qui ne peut pas être assigné au type de retour du type délégué représenté par delegateType
.
- ou -
parameters
ne contient pas le même nombre d'éléments que la liste de paramètres pour le type délégué représenté par delegateType
.
- ou -
La propriété Type d'un élément de parameters
ne peut pas être assignée à partir du type du paramètre correspondant du type délégué représenté par delegateType
.
Remarques
L’objet retourné par cette fonction est de type Expression<TDelegate>. Le LambdaExpression type est utilisé pour représenter l’objet retourné, car le type concret de l’expression lambda n’est pas connu au moment de la compilation.
Le nombre de paramètres pour le type délégué représenté par delegateType
doit être égal à la longueur de parameters
.
Les éléments de parameters
doivent être une référence égale aux expressions de paramètre dans body
.
La Type propriété de l’objet résultant est égale à delegateType
. Si parameters
a la valeur null
, la Parameters propriété de l’objet résultant est une collection vide.
S’applique à
Lambda(Type, Expression, Boolean, ParameterExpression[])
- Source:
- LambdaExpression.cs
- Source:
- LambdaExpression.cs
- Source:
- LambdaExpression.cs
Crée un LambdaExpression où le type de délégué est connu au moment de la compilation, avec un paramètre qui indique si l’optimisation d’appel tail est appliquée et un tableau d’expressions de paramètre.
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
Paramètres
- body
- Expression
Expression auquel la propriété Body doit être égale.
- tailCall
- Boolean
Boolean qui indique si l'optimisation d'appel tail sera appliquée pendant la compilation de l'expression créée.
- parameters
- ParameterExpression[]
Tableau qui contient des objets ParameterExpression à utiliser pour remplir la collection Parameters.
Retours
LambdaExpression dont la propriété NodeType est égale à Lambda et dont les propriétés Body et Parameters ont les valeurs spécifiées.
S’applique à
Lambda(Expression, String, IEnumerable<ParameterExpression>)
- Source:
- LambdaExpression.cs
- Source:
- LambdaExpression.cs
- Source:
- LambdaExpression.cs
Crée un LambdaExpression en commençant par construire un type de délégué à partir du corps d’expression, le nom de l’expression lambda et une collection énumérable d’expressions de paramètre. Peut être utilisé lorsque le type délégué n'est pas connu au moment de la compilation.
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
Paramètres
- body
- Expression
Expression auquel la propriété Body doit être égale.
- name
- String
Nom de l'expression lambda. Utilisé pour l'émission des informations de débogage.
- parameters
- IEnumerable<ParameterExpression>
IEnumerable<T> qui contient des objets ParameterExpression à utiliser pour remplir la collection Parameters.
Retours
LambdaExpression dont la propriété NodeType est égale à Lambda et dont les propriétés Body et Parameters ont les valeurs spécifiées.
S’applique à
Lambda(Expression, Boolean, ParameterExpression[])
- Source:
- LambdaExpression.cs
- Source:
- LambdaExpression.cs
- Source:
- LambdaExpression.cs
Crée un LambdaExpression en commençant par construire un type de délégué à partir du corps d’expression, un paramètre qui indique si l’optimisation d’appel tail est appliquée et un tableau d’expressions de paramètre. Peut être utilisé lorsque le type délégué n'est pas connu au moment de la compilation.
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
Paramètres
- body
- Expression
Expression auquel la propriété Body doit être égale.
- tailCall
- Boolean
Boolean qui indique si l'optimisation d'appel tail sera appliquée pendant la compilation de l'expression créée.
- parameters
- ParameterExpression[]
Tableau qui contient des objets ParameterExpression à utiliser pour remplir la collection Parameters.
Retours
LambdaExpression dont la propriété NodeType est égale à Lambda et dont les propriétés Body et Parameters ont les valeurs spécifiées.
S’applique à
Lambda(Expression, Boolean, IEnumerable<ParameterExpression>)
- Source:
- LambdaExpression.cs
- Source:
- LambdaExpression.cs
- Source:
- LambdaExpression.cs
Crée un LambdaExpression en commençant par construire un type de délégué à partir du corps d’expression, un paramètre qui indique si l’optimisation d’appel tail est appliquée et une collection énumérable d’expressions de paramètre. Peut être utilisé lorsque le type délégué n'est pas connu au moment de la compilation.
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
Paramètres
- body
- Expression
Expression auquel la propriété Body doit être égale.
- tailCall
- Boolean
Boolean qui indique si l'optimisation d'appel tail sera appliquée pendant la compilation de l'expression créée.
- parameters
- IEnumerable<ParameterExpression>
IEnumerable<T> qui contient des objets ParameterExpression à utiliser pour remplir la collection Parameters.
Retours
LambdaExpression dont la propriété NodeType est égale à Lambda et dont les propriétés Body et Parameters ont les valeurs spécifiées.
S’applique à
Lambda(Type, Expression, IEnumerable<ParameterExpression>)
- Source:
- LambdaExpression.cs
- Source:
- LambdaExpression.cs
- Source:
- LambdaExpression.cs
Crée un LambdaExpression où le type de délégué est connu au moment de la compilation, avec une collection énumérable d’expressions de paramètre.
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
Paramètres
- body
- Expression
Expression auquel la propriété Body doit être égale.
- parameters
- IEnumerable<ParameterExpression>
IEnumerable<T> qui contient des objets ParameterExpression à utiliser pour remplir la collection Parameters.
Retours
Objet qui représente une expression lambda dont la propriété NodeType est égale à Lambda et dont les propriétés Body et Parameters ont les valeurs spécifiées.
Exceptions
delegateType
ou body
est null
.
- ou -
Un ou plusieurs éléments dans parameters
sont null
.
delegateType
ne représente pas un type délégué.
- ou -
body
.Type représente un type qui ne peut pas être assigné au type de retour du type délégué représenté par delegateType
.
- ou -
parameters
ne contient pas le même nombre d'éléments que la liste de paramètres pour le type délégué représenté par delegateType
.
- ou -
La propriété Type d'un élément de parameters
ne peut pas être assignée à partir du type du paramètre correspondant du type délégué représenté par delegateType
.
Exemples
L’exemple suivant montre comment créer une expression qui représente une expression lambda qui ajoute 1 à l’argument passé.
// 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
Remarques
L’objet retourné par cette fonction est de type Expression<TDelegate>. Le LambdaExpression type est utilisé pour représenter l’objet retourné, car le type concret de l’expression lambda n’est pas connu au moment de la compilation.
Le nombre de paramètres pour le type délégué représenté pardelegateType
doit être égal à la longueur de parameters
.
Les éléments de parameters
doivent être une référence égale aux expressions de paramètre dans body
.
La Type propriété de l’objet résultant est égale à delegateType
. Si parameters
a la valeur null
, la Parameters propriété de l’objet résultant est une collection vide.
S’applique à
Lambda(Expression, ParameterExpression[])
- Source:
- LambdaExpression.cs
- Source:
- LambdaExpression.cs
- Source:
- LambdaExpression.cs
Crée un LambdaExpression en commençant par construire un type de délégué à partir du corps d’expression et un tableau d’expressions de paramètre. Peut être utilisé lorsque le type délégué n'est pas connu au moment de la compilation.
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
Paramètres
- body
- Expression
Expression auquel la propriété Body doit être égale.
- parameters
- ParameterExpression[]
Tableau d'objets ParameterExpression à utiliser pour remplir la collection Parameters.
Retours
LambdaExpression dont la propriété NodeType est égale à Lambda et dont les propriétés Body et Parameters ont les valeurs spécifiées.
Exceptions
body
a la valeur null
.
- ou -
Un ou plusieurs éléments de parameters
sont null
.
parameters
contient plus de seize éléments.
Remarques
Le parameters
paramètre ne doit pas avoir plus de seize éléments.
Les éléments de parameters
doivent être une référence égale aux expressions de paramètre dans body
.
Cette méthode construit un type de délégué approprié à partir de l’un System.Func
des délégués génériques. Il passe ensuite le type délégué à l’une des méthodes de Lambda fabrique pour créer un LambdaExpression.
S’applique à
Lambda(Expression, IEnumerable<ParameterExpression>)
- Source:
- LambdaExpression.cs
- Source:
- LambdaExpression.cs
- Source:
- LambdaExpression.cs
Crée un LambdaExpression en commençant par construire un type de délégué à partir du corps d’expression et une collection énumérable d’expressions de paramètre. Peut être utilisé lorsque le type délégué n'est pas connu au moment de la compilation.
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
Paramètres
- body
- Expression
Expression auquel la propriété Body doit être égale.
- parameters
- IEnumerable<ParameterExpression>
IEnumerable<T> qui contient des objets ParameterExpression à utiliser pour remplir la collection Parameters.
Retours
LambdaExpression dont la propriété NodeType est égale à Lambda et dont les propriétés Body et Parameters ont les valeurs spécifiées.
S’applique à
Lambda<TDelegate>(Expression, String, IEnumerable<ParameterExpression>)
- Source:
- LambdaExpression.cs
- Source:
- LambdaExpression.cs
- Source:
- LambdaExpression.cs
Crée un Expression<TDelegate> où le type de délégué est connu au moment de la compilation, avec le nom de l’expression lambda et une collection énumérable d’expressions de paramètre.
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)
Paramètres de type
- TDelegate
Type de délégué.
Paramètres
- body
- Expression
Expression auquel la propriété Body doit être égale.
- name
- String
Nom de l'expression lambda. Utilisé pour la génération des informations de débogage.
- parameters
- IEnumerable<ParameterExpression>
IEnumerable<T> qui contient des objets ParameterExpression à utiliser pour remplir la collection Parameters.
Retours
Expression<TDelegate> dont la propriété NodeType est égale à Lambda et dont les propriétés Body et Parameters ont les valeurs spécifiées.
S’applique à
Lambda<TDelegate>(Expression, Boolean, ParameterExpression[])
- Source:
- LambdaExpression.cs
- Source:
- LambdaExpression.cs
- Source:
- LambdaExpression.cs
Crée un Expression<TDelegate> où le type de délégué est connu au moment de la compilation, avec un paramètre qui indique si l’optimisation d’appel tail est appliquée et un tableau d’expressions de paramètre.
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)
Paramètres de type
- TDelegate
Type de délégué.
Paramètres
- body
- Expression
Expression auquel la propriété Body doit être égale.
- tailCall
- Boolean
Boolean qui indique si l'optimisation d'appel tail sera appliquée pendant la compilation de l'expression créée.
- parameters
- ParameterExpression[]
Tableau qui contient des objets ParameterExpression à utiliser pour remplir la collection Parameters.
Retours
Expression<TDelegate> dont la propriété NodeType est égale à Lambda et dont les propriétés Body et Parameters ont les valeurs spécifiées.
S’applique à
Lambda<TDelegate>(Expression, String, Boolean, IEnumerable<ParameterExpression>)
- Source:
- LambdaExpression.cs
- Source:
- LambdaExpression.cs
- Source:
- LambdaExpression.cs
Crée un Expression<TDelegate> où le type de délégué est connu au moment de la compilation, avec le nom de l’expression lambda, un paramètre qui indique si l’optimisation d’appel tail est appliquée et une collection énumérable d’expressions de paramètre.
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)
Paramètres de type
- TDelegate
Type de délégué.
Paramètres
- body
- Expression
Expression auquel la propriété Body doit être égale.
- name
- String
Nom de l'expression lambda. Utilisé pour la génération des informations de débogage.
- tailCall
- Boolean
Boolean qui indique si l'optimisation d'appel tail sera appliquée pendant la compilation de l'expression créée.
- parameters
- IEnumerable<ParameterExpression>
IEnumerable<T> qui contient des objets ParameterExpression à utiliser pour remplir la collection Parameters.
Retours
Expression<TDelegate> dont la propriété NodeType est égale à Lambda et dont les propriétés Body et Parameters ont les valeurs spécifiées.
S’applique à
Lambda<TDelegate>(Expression, ParameterExpression[])
- Source:
- LambdaExpression.cs
- Source:
- LambdaExpression.cs
- Source:
- LambdaExpression.cs
Crée un Expression<TDelegate> où le type de délégué est connu au moment de la compilation, avec un tableau d’expressions de paramètre.
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)
Paramètres de type
- TDelegate
Type délégué.
Paramètres
- body
- Expression
Expression auquel la propriété Body doit être égale.
- parameters
- ParameterExpression[]
Tableau d'objets ParameterExpression à utiliser pour remplir la collection Parameters.
Retours
Expression<TDelegate> dont la propriété NodeType est égale à Lambda et dont les propriétés Body et Parameters ont les valeurs spécifiées.
Exceptions
body
a la valeur null
.
- ou -
Un ou plusieurs éléments dans parameters
sont null
.
TDelegate
n'est pas un type délégué.
- ou -
body
.Type représente un type qui ne peut pas être assigné au type de retour de TDelegate
.
- ou -
parameters
ne contient pas le même nombre d'éléments que la liste de paramètres pour TDelegate
.
- ou -
La propriété Type d'un élément de parameters
ne peut pas être assignée à partir du type du paramètre correspondant de TDelegate
.
Remarques
Le nombre de paramètres pour le type TDelegate
délégué doit être égal au nombre d’éléments dans parameters
.
Les éléments de parameters
doivent être une référence égale aux expressions de paramètre dansbody
.
La Type propriété de l’objet résultant représente le type TDelegate
. Si parameters
a la valeur null
, la Parameters propriété de l’objet résultant est une collection vide.
S’applique à
Lambda<TDelegate>(Expression, IEnumerable<ParameterExpression>)
- Source:
- LambdaExpression.cs
- Source:
- LambdaExpression.cs
- Source:
- LambdaExpression.cs
Crée un Expression<TDelegate> où le type de délégué est connu au moment de la compilation, avec une collection énumérable d’expressions de paramètre.
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)
Paramètres de type
- TDelegate
Type délégué.
Paramètres
- body
- Expression
Expression auquel la propriété Body doit être égale.
- parameters
- IEnumerable<ParameterExpression>
IEnumerable<T> qui contient des objets ParameterExpression à utiliser pour remplir la collection Parameters.
Retours
Expression<TDelegate> dont la propriété NodeType est égale à Lambda et dont les propriétés Body et Parameters ont les valeurs spécifiées.
Exceptions
body
a la valeur null
.
- ou -
Un ou plusieurs éléments dans parameters
sont null
.
TDelegate
n'est pas un type délégué.
- ou -
body
.Type représente un type qui ne peut pas être assigné au type de retour de TDelegate
.
- ou -
parameters
ne contient pas le même nombre d'éléments que la liste de paramètres pour TDelegate
.
- ou -
La propriété Type d'un élément de parameters
ne peut pas être assignée à partir du type du paramètre correspondant de TDelegate
.
Remarques
Le nombre de paramètres pour le type TDelegate
délégué doit être égal au nombre d’éléments dans parameters
.
Les éléments de parameters
doivent être une référence égale aux expressions de paramètre dans body
.
La Type propriété de l’objet résultant représente le type TDelegate
. Si parameters
a la valeur null
, la Parameters propriété de l’objet résultant est une collection vide.
S’applique à
Lambda<TDelegate>(Expression, Boolean, IEnumerable<ParameterExpression>)
- Source:
- LambdaExpression.cs
- Source:
- LambdaExpression.cs
- Source:
- LambdaExpression.cs
Crée un Expression<TDelegate> où le type de délégué est connu au moment de la compilation, avec un paramètre qui indique si l’optimisation d’appel tail est appliquée et une collection énumérable d’expressions de paramètre.
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)
Paramètres de type
- TDelegate
Type de délégué.
Paramètres
- body
- Expression
Expression auquel la propriété Body doit être égale.
- tailCall
- Boolean
Boolean qui indique si l'optimisation d'appel tail sera appliquée pendant la compilation de l'expression créée.
- parameters
- IEnumerable<ParameterExpression>
IEnumerable<T> qui contient des objets ParameterExpression à utiliser pour remplir la collection Parameters.
Retours
Expression<TDelegate> dont la propriété NodeType est égale à Lambda et dont les propriétés Body et Parameters ont les valeurs spécifiées.