Condividi tramite


Expression.Lambda Metodo

Definizione

Crea una struttura ad albero delle espressioni che rappresenta un'espressione lambda.

Overload

Lambda(Type, Expression, String, Boolean, IEnumerable<ParameterExpression>)

Crea un LambdaExpression in cui il tipo delegato è noto in fase di compilazione, con il nome per l'espressione lambda, un parametro che indica se l'ottimizzazione della chiamata tail verrà applicata e una raccolta enumerabile di espressioni per i parametri.

Lambda(Type, Expression, String, IEnumerable<ParameterExpression>)

Crea un LambdaExpression in cui il tipo delegato è noto in fase di compilazione, con il nome dell'espressione lambda e una raccolta enumerabile di espressioni per i parametri.

Lambda(Type, Expression, Boolean, IEnumerable<ParameterExpression>)

Crea un LambdaExpression in cui il tipo delegato è noto in fase di compilazione, con un parametro che indica se l'ottimizzazione della chiamata tail verrà applicata e una raccolta enumerabile di espressioni per i parametri.

Lambda(Expression, String, Boolean, IEnumerable<ParameterExpression>)

Crea un LambdaExpression costruendo prima un tipo delegato dal corpo dell'espressione, il nome per l'espressione lambda, un parametro che indica se l'ottimizzazione della chiamata tail verrà applicata e una raccolta enumerabile di espressioni per i parametri. Può essere usato quando il tipo delegato non è noto in fase di compilazione.

Lambda(Type, Expression, ParameterExpression[])

Crea un LambdaExpression in cui il tipo delegato è noto in fase di compilazione, con una matrice di espressioni per i parametri.

Lambda(Type, Expression, Boolean, ParameterExpression[])

Crea un LambdaExpression in cui il tipo delegato è noto in fase di compilazione, con un parametro che indica se l'ottimizzazione della chiamata tail verrà applicata e una matrice di espressioni per i parametri.

Lambda(Expression, String, IEnumerable<ParameterExpression>)

Crea un LambdaExpression costruendo prima un tipo delegato dal corpo dell'espressione, il nome dell'espressione lambda, e una raccolta enumerabile di espressioni per i parametri. Può essere usato quando il tipo delegato non è noto in fase di compilazione.

Lambda(Expression, Boolean, ParameterExpression[])

Crea un LambdaExpression costruendo prima un tipo delegato dal corpo dell'espressione, un parametro che indica se l'ottimizzazione della chiamata tail verrà applicata, e una matrice di espressioni per i parametri. Può essere usato quando il tipo delegato non è noto in fase di compilazione.

Lambda(Expression, Boolean, IEnumerable<ParameterExpression>)

Crea un LambdaExpression costruendo prima un tipo delegato dal corpo dell'espressione, un parametro che indica se l'ottimizzazione della chiamata tail verrà applicata, e una raccolta enumerabile di espressioni per i parametri. Può essere usato quando il tipo delegato non è noto in fase di compilazione.

Lambda(Type, Expression, IEnumerable<ParameterExpression>)

Crea un LambdaExpression in cui il tipo delegato è noto in fase di compilazione, con una raccolta enumerabile di espressioni per i parametri.

Lambda(Expression, ParameterExpression[])

Crea un LambdaExpression costruendo prima un tipo delegato dal corpo dell'espressione e una matrice di espressioni per i parametri. Può essere usato quando il tipo delegato non è noto in fase di compilazione.

Lambda(Expression, IEnumerable<ParameterExpression>)

Crea un LambdaExpression costruendo prima un tipo delegato dal corpo dell'espressione e una raccolta enumerabile di espressioni per i parametri. Può essere usato quando il tipo delegato non è noto in fase di compilazione.

Lambda<TDelegate>(Expression, String, IEnumerable<ParameterExpression>)

Crea un Expression<TDelegate> in cui il tipo delegato è noto in fase di compilazione, con il nome dell'espressione lambda e una raccolta enumerabile di espressioni per i parametri.

Lambda<TDelegate>(Expression, Boolean, ParameterExpression[])

Crea un Expression<TDelegate> in cui il tipo delegato è noto in fase di compilazione, con un parametro che indica se l'ottimizzazione della chiamata tail verrà applicata e una matrice di espressioni per i parametri.

Lambda<TDelegate>(Expression, String, Boolean, IEnumerable<ParameterExpression>)

Crea un Expression<TDelegate> in cui il tipo delegato è noto in fase di compilazione, con il nome per l'espressione lambda, un parametro che indica se l'ottimizzazione della chiamata tail verrà applicata e una raccolta enumerabile di espressioni per i parametri.

Lambda<TDelegate>(Expression, ParameterExpression[])

Crea un Expression<TDelegate> in cui il tipo delegato è noto in fase di compilazione, con una matrice di espressioni per i parametri.

Lambda<TDelegate>(Expression, IEnumerable<ParameterExpression>)

Crea un Expression<TDelegate> in cui il tipo di delegato è noto in fase di compilazione, con una raccolta enumerabile di espressioni per i parametri.

Lambda<TDelegate>(Expression, Boolean, IEnumerable<ParameterExpression>)

Crea un Expression<TDelegate> in cui il tipo delegato è noto in fase di compilazione, con un parametro che indica se l'ottimizzazione della chiamata tail verrà applicata e una raccolta enumerabile di espressioni per i parametri.

Lambda(Type, Expression, String, Boolean, IEnumerable<ParameterExpression>)

Origine:
LambdaExpression.cs
Origine:
LambdaExpression.cs
Origine:
LambdaExpression.cs

Crea un LambdaExpression in cui il tipo delegato è noto in fase di compilazione, con il nome per l'espressione lambda, un parametro che indica se l'ottimizzazione della chiamata tail verrà applicata e una raccolta enumerabile di espressioni per i parametri.

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

Parametri

delegateType
Type

Oggetto Type che rappresenta la firma del delegato per l'espressione lambda.

body
Expression

Oggetto Expression su cui impostare la proprietà Body.

name
String

Nome dell'espressione lambda. Usato per la creazione di informazioni di debug.

tailCall
Boolean

Oggetto Boolean che indica se l'ottimizzazione della chiamata tail verrà applicata durante la compilazione dell'espressione creata.

parameters
IEnumerable<ParameterExpression>

Oggetto IEnumerable<T> contenente gli oggetti ParameterExpression da usare per popolare la raccolta Parameters.

Restituisce

Oggetto LambdaExpression la cui proprietà NodeType è uguale a Lambda e le cui proprietà Body e Parameters sono impostate sui valori specificati.

Si applica a

Lambda(Type, Expression, String, IEnumerable<ParameterExpression>)

Origine:
LambdaExpression.cs
Origine:
LambdaExpression.cs
Origine:
LambdaExpression.cs

Crea un LambdaExpression in cui il tipo delegato è noto in fase di compilazione, con il nome dell'espressione lambda e una raccolta enumerabile di espressioni per i parametri.

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

Parametri

delegateType
Type

Oggetto Type che rappresenta la firma del delegato per l'espressione lambda.

body
Expression

Oggetto Expression su cui impostare la proprietà Body.

name
String

Nome dell'espressione lambda. Usato per la creazione di informazioni di debug.

parameters
IEnumerable<ParameterExpression>

Oggetto IEnumerable<T> contenente gli oggetti ParameterExpression da usare per popolare la raccolta Parameters.

Restituisce

Oggetto LambdaExpression la cui proprietà NodeType è uguale a Lambda e le cui proprietà Body e Parameters sono impostate sui valori specificati.

Si applica a

Lambda(Type, Expression, Boolean, IEnumerable<ParameterExpression>)

Origine:
LambdaExpression.cs
Origine:
LambdaExpression.cs
Origine:
LambdaExpression.cs

Crea un LambdaExpression in cui il tipo delegato è noto in fase di compilazione, con un parametro che indica se l'ottimizzazione della chiamata tail verrà applicata e una raccolta enumerabile di espressioni per i parametri.

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

Parametri

delegateType
Type

Oggetto Type che rappresenta la firma del delegato per l'espressione lambda.

body
Expression

Oggetto Expression su cui impostare la proprietà Body.

tailCall
Boolean

Oggetto Boolean che indica se l'ottimizzazione della chiamata tail verrà applicata durante la compilazione dell'espressione creata.

parameters
IEnumerable<ParameterExpression>

Oggetto IEnumerable<T> contenente gli oggetti ParameterExpression da usare per popolare la raccolta Parameters.

Restituisce

Oggetto LambdaExpression la cui proprietà NodeType è uguale a Lambda e le cui proprietà Body e Parameters sono impostate sui valori specificati.

Si applica a

Lambda(Expression, String, Boolean, IEnumerable<ParameterExpression>)

Origine:
LambdaExpression.cs
Origine:
LambdaExpression.cs
Origine:
LambdaExpression.cs

Crea un LambdaExpression costruendo prima un tipo delegato dal corpo dell'espressione, il nome per l'espressione lambda, un parametro che indica se l'ottimizzazione della chiamata tail verrà applicata e una raccolta enumerabile di espressioni per i parametri. Può essere usato quando il tipo delegato non è noto in fase di compilazione.

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

Parametri

body
Expression

Oggetto Expression su cui impostare la proprietà Body.

name
String

Nome dell'espressione lambda. Usato per la creazione di informazioni di debug.

tailCall
Boolean

Oggetto Boolean che indica se l'ottimizzazione della chiamata tail verrà applicata durante la compilazione dell'espressione creata.

parameters
IEnumerable<ParameterExpression>

Oggetto IEnumerable<T> contenente gli oggetti ParameterExpression da usare per popolare la raccolta Parameters.

Restituisce

Oggetto LambdaExpression la cui proprietà NodeType è uguale a Lambda e le cui proprietà Body e Parameters sono impostate sui valori specificati.

Si applica a

Lambda(Type, Expression, ParameterExpression[])

Origine:
LambdaExpression.cs
Origine:
LambdaExpression.cs
Origine:
LambdaExpression.cs

Crea un LambdaExpression in cui il tipo delegato è noto in fase di compilazione, con una matrice di espressioni per i parametri.

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

Parametri

delegateType
Type

Oggetto Type che rappresenta una firma di delegato per l'espressione lambda.

body
Expression

Oggetto Expression su cui impostare la proprietà Body.

parameters
ParameterExpression[]

Matrice di oggetti ParameterExpression da usare per popolare la raccolta Parameters.

Restituisce

Oggetto che rappresenta un'espressione lambda la cui proprietà NodeType è uguale a Lambda e le cui proprietà Body e Parameters sono impostate sui valori specificati.

Eccezioni

delegateType o body è null.

-oppure-

Uno o più elementi in parameters sono null.

delegateType non rappresenta un tipo delegato.

-oppure-

body.Type rappresenta un tipo non assegnabile al tipo restituito del tipo delegato rappresentato da delegateType.

-oppure-

Il numero di elementi in parameters è diverso dal numero di parametri elencato per il tipo delegato rappresentato da delegateType.

-oppure-

La proprietà Type di un elemento di parameters non è assegnabile dal tipo del parametro corrispondente del tipo di delegato rappresentato da delegateType.

Commenti

L'oggetto restituito da questa funzione è di tipo Expression<TDelegate>. Il LambdaExpression tipo viene usato per rappresentare l'oggetto restituito perché il tipo concreto dell'espressione lambda non è noto in fase di compilazione.

Il numero di parametri per il tipo delegato rappresentato da delegateType deve essere uguale alla lunghezza di parameters.

Gli elementi di parameters devono essere di riferimento uguali alle espressioni di parametro in body.

La Type proprietà dell'oggetto risultante è uguale a delegateType. Se parameters è null, la Parameters proprietà dell'oggetto risultante è una raccolta vuota.

Si applica a

Lambda(Type, Expression, Boolean, ParameterExpression[])

Origine:
LambdaExpression.cs
Origine:
LambdaExpression.cs
Origine:
LambdaExpression.cs

Crea un LambdaExpression in cui il tipo delegato è noto in fase di compilazione, con un parametro che indica se l'ottimizzazione della chiamata tail verrà applicata e una matrice di espressioni per i parametri.

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

Parametri

delegateType
Type

Oggetto Type che rappresenta la firma del delegato per l'espressione lambda.

body
Expression

Oggetto Expression su cui impostare la proprietà Body.

tailCall
Boolean

Oggetto Boolean che indica se l'ottimizzazione della chiamata tail verrà applicata durante la compilazione dell'espressione creata.

parameters
ParameterExpression[]

Matrice contenente gli oggetti ParameterExpression da usare per popolare la raccolta Parameters.

Restituisce

Oggetto LambdaExpression la cui proprietà NodeType è uguale a Lambda e le cui proprietà Body e Parameters sono impostate sui valori specificati.

Si applica a

Lambda(Expression, String, IEnumerable<ParameterExpression>)

Origine:
LambdaExpression.cs
Origine:
LambdaExpression.cs
Origine:
LambdaExpression.cs

Crea un LambdaExpression costruendo prima un tipo delegato dal corpo dell'espressione, il nome dell'espressione lambda, e una raccolta enumerabile di espressioni per i parametri. Può essere usato quando il tipo delegato non è noto in fase di compilazione.

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

Parametri

body
Expression

Oggetto Expression su cui impostare la proprietà Body.

name
String

Nome dell'espressione lambda. Usato per la creazione di informazioni di debug.

parameters
IEnumerable<ParameterExpression>

Oggetto IEnumerable<T> contenente gli oggetti ParameterExpression da usare per popolare la raccolta Parameters.

Restituisce

Oggetto LambdaExpression la cui proprietà NodeType è uguale a Lambda e le cui proprietà Body e Parameters sono impostate sui valori specificati.

Si applica a

Lambda(Expression, Boolean, ParameterExpression[])

Origine:
LambdaExpression.cs
Origine:
LambdaExpression.cs
Origine:
LambdaExpression.cs

Crea un LambdaExpression costruendo prima un tipo delegato dal corpo dell'espressione, un parametro che indica se l'ottimizzazione della chiamata tail verrà applicata, e una matrice di espressioni per i parametri. Può essere usato quando il tipo delegato non è noto in fase di compilazione.

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

Parametri

body
Expression

Oggetto Expression su cui impostare la proprietà Body.

tailCall
Boolean

Oggetto Boolean che indica se l'ottimizzazione della chiamata tail verrà applicata durante la compilazione dell'espressione creata.

parameters
ParameterExpression[]

Matrice contenente gli oggetti ParameterExpression da usare per popolare la raccolta Parameters.

Restituisce

Oggetto LambdaExpression la cui proprietà NodeType è uguale a Lambda e le cui proprietà Body e Parameters sono impostate sui valori specificati.

Si applica a

Lambda(Expression, Boolean, IEnumerable<ParameterExpression>)

Origine:
LambdaExpression.cs
Origine:
LambdaExpression.cs
Origine:
LambdaExpression.cs

Crea un LambdaExpression costruendo prima un tipo delegato dal corpo dell'espressione, un parametro che indica se l'ottimizzazione della chiamata tail verrà applicata, e una raccolta enumerabile di espressioni per i parametri. Può essere usato quando il tipo delegato non è noto in fase di compilazione.

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

Parametri

body
Expression

Oggetto Expression su cui impostare la proprietà Body.

tailCall
Boolean

Oggetto Boolean che indica se l'ottimizzazione della chiamata tail verrà applicata durante la compilazione dell'espressione creata.

parameters
IEnumerable<ParameterExpression>

Oggetto IEnumerable<T> contenente gli oggetti ParameterExpression da usare per popolare la raccolta Parameters.

Restituisce

Oggetto LambdaExpression la cui proprietà NodeType è uguale a Lambda e le cui proprietà Body e Parameters sono impostate sui valori specificati.

Si applica a

Lambda(Type, Expression, IEnumerable<ParameterExpression>)

Origine:
LambdaExpression.cs
Origine:
LambdaExpression.cs
Origine:
LambdaExpression.cs

Crea un LambdaExpression in cui il tipo delegato è noto in fase di compilazione, con una raccolta enumerabile di espressioni per i parametri.

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

Parametri

delegateType
Type

Oggetto Type che rappresenta una firma di delegato per l'espressione lambda.

body
Expression

Oggetto Expression su cui impostare la proprietà Body.

parameters
IEnumerable<ParameterExpression>

Oggetto IEnumerable<T> contenente gli oggetti ParameterExpression da usare per popolare la raccolta Parameters.

Restituisce

Oggetto che rappresenta un'espressione lambda la cui proprietà NodeType è uguale a Lambda e le cui proprietà Body e Parameters sono impostate sui valori specificati.

Eccezioni

delegateType o body è null.

-oppure-

Uno o più elementi in parameters sono null.

delegateType non rappresenta un tipo delegato.

-oppure-

body.Type rappresenta un tipo non assegnabile al tipo restituito del tipo delegato rappresentato da delegateType.

-oppure-

Il numero di elementi in parameters è diverso dal numero di parametri elencato per il tipo delegato rappresentato da delegateType.

-oppure-

La proprietà Type di un elemento di parameters non è assegnabile dal tipo del parametro corrispondente del tipo di delegato rappresentato da delegateType.

Esempio

Nell'esempio seguente viene illustrato come creare un'espressione che rappresenta un'espressione lambda che aggiunge 1 all'argomento passato.

// 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

Commenti

L'oggetto restituito da questa funzione è di tipo Expression<TDelegate>. Il LambdaExpression tipo viene usato per rappresentare l'oggetto restituito perché il tipo concreto dell'espressione lambda non è noto in fase di compilazione.

Il numero di parametri per il tipo delegato rappresentato dadelegateType deve corrispondere alla lunghezza di parameters.

Gli elementi di devono essere riferimenti uguali alle espressioni di parameters parametro in body.

La Type proprietà dell'oggetto risultante è uguale a delegateType. Se parameters è , la proprietà dell'oggetto Parameters risultante è nulluna raccolta vuota.

Si applica a

Lambda(Expression, ParameterExpression[])

Origine:
LambdaExpression.cs
Origine:
LambdaExpression.cs
Origine:
LambdaExpression.cs

Crea un LambdaExpression costruendo prima un tipo delegato dal corpo dell'espressione e una matrice di espressioni per i parametri. Può essere usato quando il tipo delegato non è noto in fase di compilazione.

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

Parametri

body
Expression

Oggetto Expression su cui impostare la proprietà Body.

parameters
ParameterExpression[]

Matrice di oggetti ParameterExpression da usare per popolare la raccolta Parameters.

Restituisce

Oggetto LambdaExpression la cui proprietà NodeType è uguale a Lambda e le cui proprietà Body e Parameters sono impostate sui valori specificati.

Eccezioni

body è null.

-oppure-

Uno o più elementi di parameters sono null.

parameters contiene più di sedici elementi.

Commenti

Il parameters parametro non deve avere più di sedici elementi.

Gli elementi di devono essere riferimenti uguali alle espressioni di parameters parametro in body.

Questo metodo costruisce un tipo delegato appropriato da uno dei System.Func delegati generici. Passa quindi il tipo delegato a uno dei Lambda metodi factory per creare un LambdaExpressionoggetto .

Si applica a

Lambda(Expression, IEnumerable<ParameterExpression>)

Origine:
LambdaExpression.cs
Origine:
LambdaExpression.cs
Origine:
LambdaExpression.cs

Crea un LambdaExpression costruendo prima un tipo delegato dal corpo dell'espressione e una raccolta enumerabile di espressioni per i parametri. Può essere usato quando il tipo delegato non è noto in fase di compilazione.

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

Parametri

body
Expression

Oggetto Expression su cui impostare la proprietà Body.

parameters
IEnumerable<ParameterExpression>

Oggetto IEnumerable<T> contenente gli oggetti ParameterExpression da usare per popolare la raccolta Parameters.

Restituisce

Oggetto LambdaExpression la cui proprietà NodeType è uguale a Lambda e le cui proprietà Body e Parameters sono impostate sui valori specificati.

Si applica a

Lambda<TDelegate>(Expression, String, IEnumerable<ParameterExpression>)

Origine:
LambdaExpression.cs
Origine:
LambdaExpression.cs
Origine:
LambdaExpression.cs

Crea un Expression<TDelegate> in cui il tipo delegato è noto in fase di compilazione, con il nome dell'espressione lambda e una raccolta enumerabile di espressioni per i parametri.

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)

Parametri di tipo

TDelegate

Tipo di delegato.

Parametri

body
Expression

Oggetto Expression su cui impostare la proprietà Body.

name
String

Nome dell'espressione lambda. Usato per la generazione di informazioni di debug.

parameters
IEnumerable<ParameterExpression>

Oggetto IEnumerable<T> contenente gli oggetti ParameterExpression da usare per popolare la raccolta Parameters.

Restituisce

Oggetto Expression<TDelegate> la cui proprietà NodeType è uguale a Lambda e le cui proprietà Body e Parameters sono impostate sui valori specificati.

Si applica a

Lambda<TDelegate>(Expression, Boolean, ParameterExpression[])

Origine:
LambdaExpression.cs
Origine:
LambdaExpression.cs
Origine:
LambdaExpression.cs

Crea un Expression<TDelegate> in cui il tipo delegato è noto in fase di compilazione, con un parametro che indica se l'ottimizzazione della chiamata tail verrà applicata e una matrice di espressioni per i parametri.

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)

Parametri di tipo

TDelegate

Tipo di delegato.

Parametri

body
Expression

Oggetto Expression su cui impostare la proprietà Body.

tailCall
Boolean

Oggetto Boolean che indica se l'ottimizzazione della chiamata tail verrà applicata durante la compilazione dell'espressione creata.

parameters
ParameterExpression[]

Matrice contenente gli oggetti ParameterExpression da usare per popolare la raccolta Parameters.

Restituisce

Oggetto Expression<TDelegate> la cui proprietà NodeType è uguale a Lambda e le cui proprietà Body e Parameters sono impostate sui valori specificati.

Si applica a

Lambda<TDelegate>(Expression, String, Boolean, IEnumerable<ParameterExpression>)

Origine:
LambdaExpression.cs
Origine:
LambdaExpression.cs
Origine:
LambdaExpression.cs

Crea un Expression<TDelegate> in cui il tipo delegato è noto in fase di compilazione, con il nome per l'espressione lambda, un parametro che indica se l'ottimizzazione della chiamata tail verrà applicata e una raccolta enumerabile di espressioni per i parametri.

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)

Parametri di tipo

TDelegate

Tipo di delegato.

Parametri

body
Expression

Oggetto Expression su cui impostare la proprietà Body.

name
String

Nome dell'espressione lambda. Usato per la generazione di informazioni di debug.

tailCall
Boolean

Oggetto Boolean che indica se l'ottimizzazione della chiamata tail verrà applicata durante la compilazione dell'espressione creata.

parameters
IEnumerable<ParameterExpression>

Oggetto IEnumerable<T> contenente gli oggetti ParameterExpression da usare per popolare la raccolta Parameters.

Restituisce

Oggetto Expression<TDelegate> la cui proprietà NodeType è uguale a Lambda e le cui proprietà Body e Parameters sono impostate sui valori specificati.

Si applica a

Lambda<TDelegate>(Expression, ParameterExpression[])

Origine:
LambdaExpression.cs
Origine:
LambdaExpression.cs
Origine:
LambdaExpression.cs

Crea un Expression<TDelegate> in cui il tipo delegato è noto in fase di compilazione, con una matrice di espressioni per i parametri.

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)

Parametri di tipo

TDelegate

Tipo delegato.

Parametri

body
Expression

Oggetto Expression su cui impostare la proprietà Body.

parameters
ParameterExpression[]

Matrice di oggetti ParameterExpression da usare per popolare la raccolta Parameters.

Restituisce

Oggetto Expression<TDelegate> la cui proprietà NodeType è uguale a Lambda e le cui proprietà Body e Parameters sono impostate sui valori specificati.

Eccezioni

body è null.

-oppure-

Uno o più elementi in parameters sono null.

TDelegate non è un tipo delegato.

-oppure-

body.Type rappresenta un tipo non assegnabile al tipo restituito di TDelegate.

-oppure-

Il numero di elementi in parameters è diverso dal numero di parametri elencato per TDelegate.

-oppure-

La proprietà Type di un elemento di parameters non è assegnabile dal tipo del parametro corrispondente di TDelegate.

Commenti

Il numero di parametri per il tipo TDelegate delegato deve corrispondere al numero di elementi in parameters.

Gli elementi di parameters devono essere riferimenti uguali alle espressioni di parametro inbody .

La Type proprietà dell'oggetto risultante rappresenta il tipo TDelegate. Se parameters è null, la Parameters proprietà dell'oggetto risultante è una raccolta vuota.

Si applica a

Lambda<TDelegate>(Expression, IEnumerable<ParameterExpression>)

Origine:
LambdaExpression.cs
Origine:
LambdaExpression.cs
Origine:
LambdaExpression.cs

Crea un Expression<TDelegate> in cui il tipo di delegato è noto in fase di compilazione, con una raccolta enumerabile di espressioni per i parametri.

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)

Parametri di tipo

TDelegate

Tipo delegato.

Parametri

body
Expression

Oggetto Expression su cui impostare la proprietà Body.

parameters
IEnumerable<ParameterExpression>

Oggetto IEnumerable<T> contenente gli oggetti ParameterExpression da usare per popolare la raccolta Parameters.

Restituisce

Oggetto Expression<TDelegate> la cui proprietà NodeType è uguale a Lambda e le cui proprietà Body e Parameters sono impostate sui valori specificati.

Eccezioni

body è null.

-oppure-

Uno o più elementi in parameters sono null.

TDelegate non è un tipo delegato.

-oppure-

body.Type rappresenta un tipo non assegnabile al tipo restituito di TDelegate.

-oppure-

Il numero di elementi in parameters è diverso dal numero di parametri elencato per TDelegate.

-oppure-

La proprietà Type di un elemento di parameters non è assegnabile dal tipo del parametro corrispondente di TDelegate.

Commenti

Il numero di parametri per il tipo TDelegate delegato deve essere uguale al numero di elementi in parameters.

Gli elementi di parameters devono essere di riferimento uguali alle espressioni di parametro in body.

La Type proprietà dell'oggetto risultante rappresenta il tipo TDelegate. Se parameters è null, la Parameters proprietà dell'oggetto risultante è una raccolta vuota.

Si applica a

Lambda<TDelegate>(Expression, Boolean, IEnumerable<ParameterExpression>)

Origine:
LambdaExpression.cs
Origine:
LambdaExpression.cs
Origine:
LambdaExpression.cs

Crea un Expression<TDelegate> in cui il tipo delegato è noto in fase di compilazione, con un parametro che indica se l'ottimizzazione della chiamata tail verrà applicata e una raccolta enumerabile di espressioni per i parametri.

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)

Parametri di tipo

TDelegate

Tipo di delegato.

Parametri

body
Expression

Oggetto Expression su cui impostare la proprietà Body.

tailCall
Boolean

Oggetto Boolean che indica se l'ottimizzazione della chiamata tail verrà applicata durante la compilazione dell'espressione creata.

parameters
IEnumerable<ParameterExpression>

Oggetto IEnumerable<T> contenente gli oggetti ParameterExpression da usare per popolare la raccolta Parameters.

Restituisce

Oggetto Expression<TDelegate> la cui proprietà NodeType è uguale a Lambda e le cui proprietà Body e Parameters sono impostate sui valori specificati.

Si applica a