Partager via


Expression.Lambda Méthode

Définition

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

delegateType
Type

Type qui représente la signature du délégué de l'expression lambda.

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

delegateType
Type

Type qui représente la signature du délégué de l'expression lambda.

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

delegateType
Type

Type qui représente la signature du délégué de l'expression lambda.

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

delegateType
Type

Type qui représente une signature de délégué pour l'expression lambda.

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

delegateType
Type

Type qui représente la signature du délégué de l'expression lambda.

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

delegateType
Type

Type qui représente une signature de délégué pour l'expression lambda.

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.

S’applique à