Expression.Lambda Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
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
- 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
- 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
- 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
- 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
- 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
- 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 è null
una 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
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
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
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.