Expression.Lambda Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Vytvoří strom výrazu, který představuje výraz lambda.
Přetížení
Lambda(Type, Expression, String, Boolean, IEnumerable<ParameterExpression>) |
LambdaExpression Vytvoří místo, kde je typ delegáta známý v době kompilace, s názvem pro lambda, parametr, který označuje, zda se použije optimalizace koncového volání, a výčetnou kolekci výrazů parametrů. |
Lambda(Type, Expression, String, IEnumerable<ParameterExpression>) |
Vytvoří LambdaExpression místo, kde je typ delegáta známý v době kompilace, s názvem pro lambda a výčet kolekcí výrazů parametrů. |
Lambda(Type, Expression, Boolean, IEnumerable<ParameterExpression>) |
LambdaExpression Vytvoří typ delegáta známý v době kompilace s parametrem, který označuje, zda se použije optimalizace koncového volání, a výčet kolekcí výrazů parametrů. |
Lambda(Expression, String, Boolean, IEnumerable<ParameterExpression>) |
LambdaExpression Vytvoří nejprve typ delegáta z těla výrazu, název lambda, parametr, který označuje, zda se použije optimalizace koncového volání, a výčet kolekcí výrazů parametrů. Dá se použít, když typ delegáta není v době kompilace známý. |
Lambda(Type, Expression, ParameterExpression[]) |
Vytvoří LambdaExpression místo, kde je typ delegáta známý v době kompilace, s polem výrazů parametrů. |
Lambda(Type, Expression, Boolean, ParameterExpression[]) |
LambdaExpression Vytvoří, kde je typ delegáta známý v době kompilace, s parametrem, který označuje, zda se použije optimalizace koncového volání, a pole výrazů parametrů. |
Lambda(Expression, String, IEnumerable<ParameterExpression>) |
LambdaExpression Vytvoří nejprve typ delegáta z textu výrazu, názvu lambda a výčetné kolekce výrazů parametrů. Dá se použít, když typ delegáta není v době kompilace známý. |
Lambda(Expression, Boolean, ParameterExpression[]) |
LambdaExpression Vytvoří nejprve typ delegáta z textu výrazu, parametr, který označuje, zda se použije optimalizace koncového volání, a pole výrazů parametrů. Dá se použít, když typ delegáta není v době kompilace známý. |
Lambda(Expression, Boolean, IEnumerable<ParameterExpression>) |
LambdaExpression Vytvoří nejprve typ delegáta z těla výrazu, parametr, který označuje, zda bude použita optimalizace koncového volání, a výčet kolekcí výrazů parametrů. Dá se použít, když typ delegáta není v době kompilace známý. |
Lambda(Type, Expression, IEnumerable<ParameterExpression>) |
Vytvoří LambdaExpression místo, kde je typ delegáta známý v době kompilace, s výčetnou kolekcí výrazů parametrů. |
Lambda(Expression, ParameterExpression[]) |
LambdaExpression Vytvoří nejprve typ delegáta z textu výrazu a pole výrazů parametrů. Dá se použít, když typ delegáta není v době kompilace známý. |
Lambda(Expression, IEnumerable<ParameterExpression>) |
LambdaExpression Vytvoří nejprve sestavením typu delegáta z textu výrazu a výčetné kolekce výrazů parametrů. Dá se použít, když typ delegáta není v době kompilace známý. |
Lambda<TDelegate>(Expression, String, IEnumerable<ParameterExpression>) |
Vytvoří místo Expression<TDelegate> , kde je typ delegáta známý v době kompilace, s názvem pro lambda a výčet kolekcí výrazů parametrů. |
Lambda<TDelegate>(Expression, Boolean, ParameterExpression[]) |
Vytvoří místo Expression<TDelegate> , kde je typ delegáta známý v době kompilace, s parametrem, který označuje, zda se použije optimalizace koncového volání, a pole výrazů parametrů. |
Lambda<TDelegate>(Expression, String, Boolean, IEnumerable<ParameterExpression>) |
Expression<TDelegate> Vytvoří, kde je typ delegáta známý v době kompilace, s názvem pro lambda, parametrem, který označuje, zda se použije optimalizace koncového volání, a výčetnou kolekcí výrazů parametrů. |
Lambda<TDelegate>(Expression, ParameterExpression[]) |
Expression<TDelegate> Vytvoří typ delegáta známý v době kompilace s polem výrazů parametrů. |
Lambda<TDelegate>(Expression, IEnumerable<ParameterExpression>) |
Vytvoří typ Expression<TDelegate> delegáta známý v době kompilace s výčetnou kolekcí výrazů parametrů. |
Lambda<TDelegate>(Expression, Boolean, IEnumerable<ParameterExpression>) |
Vytvoří, Expression<TDelegate> kde je typ delegáta známý v době kompilace, s parametrem, který označuje, zda se použije optimalizace koncového volání, a výčetnou kolekci výrazů parametrů. |
Lambda(Type, Expression, String, Boolean, IEnumerable<ParameterExpression>)
- Zdroj:
- LambdaExpression.cs
- Zdroj:
- LambdaExpression.cs
- Zdroj:
- LambdaExpression.cs
LambdaExpression Vytvoří místo, kde je typ delegáta známý v době kompilace, s názvem pro lambda, parametr, který označuje, zda se použije optimalizace koncového volání, a výčetnou kolekci výrazů parametrů.
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
Parametry
- body
- Expression
An Expression , která nastaví Body vlastnost na hodnotu rovna.
- name
- String
Název lambdy. Používá se pro generování informací o ladění.
- tailCall
- Boolean
A Boolean , který označuje, jestli se při kompilaci vytvořeného výrazu použije optimalizace koncového volání.
- parameters
- IEnumerable<ParameterExpression>
Objekt IEnumerable<T> obsahující objekty, které ParameterExpression se mají použít k naplnění Parameters kolekce.
Návraty
A LambdaExpression , který má NodeType vlastnost rovna Lambda a Body vlastnosti a Parameters nastavené na zadané hodnoty.
Platí pro
Lambda(Type, Expression, String, IEnumerable<ParameterExpression>)
- Zdroj:
- LambdaExpression.cs
- Zdroj:
- LambdaExpression.cs
- Zdroj:
- LambdaExpression.cs
Vytvoří LambdaExpression místo, kde je typ delegáta známý v době kompilace, s názvem pro lambda a výčet kolekcí výrazů parametrů.
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
Parametry
- body
- Expression
An Expression , která nastaví Body vlastnost na hodnotu rovna.
- name
- String
Název lambdy. Používá se pro generování informací o ladění.
- parameters
- IEnumerable<ParameterExpression>
Objekt IEnumerable<T> obsahující objekty, které ParameterExpression se mají použít k naplnění Parameters kolekce.
Návraty
A LambdaExpression , který má NodeType vlastnost rovna Lambda a Body vlastnosti a Parameters nastavené na zadané hodnoty.
Platí pro
Lambda(Type, Expression, Boolean, IEnumerable<ParameterExpression>)
- Zdroj:
- LambdaExpression.cs
- Zdroj:
- LambdaExpression.cs
- Zdroj:
- LambdaExpression.cs
LambdaExpression Vytvoří typ delegáta známý v době kompilace s parametrem, který označuje, zda se použije optimalizace koncového volání, a výčet kolekcí výrazů parametrů.
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
Parametry
- body
- Expression
An Expression , která nastaví Body vlastnost na hodnotu rovna.
- tailCall
- Boolean
A Boolean , který označuje, jestli se při kompilaci vytvořeného výrazu použije optimalizace koncového volání.
- parameters
- IEnumerable<ParameterExpression>
Objekt IEnumerable<T> obsahující objekty, které ParameterExpression se mají použít k naplnění Parameters kolekce.
Návraty
A LambdaExpression , který má NodeType vlastnost rovna Lambda a Body vlastnosti a Parameters nastavené na zadané hodnoty.
Platí pro
Lambda(Expression, String, Boolean, IEnumerable<ParameterExpression>)
- Zdroj:
- LambdaExpression.cs
- Zdroj:
- LambdaExpression.cs
- Zdroj:
- LambdaExpression.cs
LambdaExpression Vytvoří nejprve typ delegáta z těla výrazu, název lambda, parametr, který označuje, zda se použije optimalizace koncového volání, a výčet kolekcí výrazů parametrů. Dá se použít, když typ delegáta není v době kompilace známý.
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
Parametry
- body
- Expression
An Expression , která nastaví Body vlastnost na hodnotu rovna.
- name
- String
Název lambdy. Používá se pro generování informací o ladění.
- tailCall
- Boolean
A Boolean , který označuje, jestli se při kompilaci vytvořeného výrazu použije optimalizace koncového volání.
- parameters
- IEnumerable<ParameterExpression>
Objekt IEnumerable<T> obsahující objekty, které ParameterExpression se mají použít k naplnění Parameters kolekce.
Návraty
A LambdaExpression , který má NodeType vlastnost rovna Lambda a Body vlastnosti a Parameters nastavené na zadané hodnoty.
Platí pro
Lambda(Type, Expression, ParameterExpression[])
- Zdroj:
- LambdaExpression.cs
- Zdroj:
- LambdaExpression.cs
- Zdroj:
- LambdaExpression.cs
Vytvoří LambdaExpression místo, kde je typ delegáta známý v době kompilace, s polem výrazů parametrů.
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
Parametry
- body
- Expression
An Expression , která nastaví Body vlastnost na hodnotu rovna.
- parameters
- ParameterExpression[]
Pole ParameterExpression objektů, které se mají použít k naplnění Parameters kolekce.
Návraty
Objekt, který představuje výraz lambda, který má NodeType vlastnost rovna Lambda a Body vlastnosti a Parameters nastavené na zadané hodnoty.
Výjimky
delegateType
nebo body
je null
.
-nebo-
Jeden nebo více prvků v parameters
souboru je null
.
delegateType
nepředstavuje typ delegáta.
-nebo-
body
. Type představuje typ, který není možné přiřadit k návratu typu delegáta reprezentovaný .delegateType
-nebo-
parameters
neobsahuje stejný počet prvků jako seznam parametrů pro typ delegáta reprezentovaný parametrem delegateType
.
-nebo-
Vlastnost Type elementu parameters
není možné přiřadit z typu odpovídajícího typu parametru typu delegáta reprezentovaný .delegateType
Poznámky
Objekt vrácený z této funkce je typu Expression<TDelegate>. Typ LambdaExpression se používá k reprezentaci vráceného objektu, protože konkrétní typ výrazu lambda není v době kompilace znám.
Počet parametrů pro typ delegáta reprezentovaný parametrem delegateType
se musí rovnat délce parametru parameters
.
Prvky musí parameters
být odkazem na výrazy parametru v body
.
Vlastnost Type výsledného objektu je rovna delegateType
. Pokud parameters
je null
, Parameters je vlastnost výsledného objektu prázdná kolekce.
Platí pro
Lambda(Type, Expression, Boolean, ParameterExpression[])
- Zdroj:
- LambdaExpression.cs
- Zdroj:
- LambdaExpression.cs
- Zdroj:
- LambdaExpression.cs
LambdaExpression Vytvoří, kde je typ delegáta známý v době kompilace, s parametrem, který označuje, zda se použije optimalizace koncového volání, a pole výrazů parametrů.
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
Parametry
- body
- Expression
An Expression , která nastaví Body vlastnost na hodnotu rovna.
- tailCall
- Boolean
A Boolean , který označuje, jestli se při kompilaci vytvořeného výrazu použije optimalizace koncového volání.
- parameters
- ParameterExpression[]
Pole obsahující objekty, které ParameterExpression se mají použít k naplnění Parameters kolekce.
Návraty
A LambdaExpression , který má NodeType vlastnost rovna Lambda a Body vlastnosti a Parameters nastavené na zadané hodnoty.
Platí pro
Lambda(Expression, String, IEnumerable<ParameterExpression>)
- Zdroj:
- LambdaExpression.cs
- Zdroj:
- LambdaExpression.cs
- Zdroj:
- LambdaExpression.cs
LambdaExpression Vytvoří nejprve typ delegáta z textu výrazu, názvu lambda a výčetné kolekce výrazů parametrů. Dá se použít, když typ delegáta není v době kompilace známý.
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
Parametry
- body
- Expression
An Expression , která nastaví Body vlastnost na hodnotu rovna.
- name
- String
Název lambdy. Používá se pro generování informací o ladění.
- parameters
- IEnumerable<ParameterExpression>
Objekt IEnumerable<T> obsahující objekty, které ParameterExpression se mají použít k naplnění Parameters kolekce.
Návraty
A LambdaExpression , který má NodeType vlastnost rovna Lambda a Body vlastnosti a Parameters nastavené na zadané hodnoty.
Platí pro
Lambda(Expression, Boolean, ParameterExpression[])
- Zdroj:
- LambdaExpression.cs
- Zdroj:
- LambdaExpression.cs
- Zdroj:
- LambdaExpression.cs
LambdaExpression Vytvoří nejprve typ delegáta z textu výrazu, parametr, který označuje, zda se použije optimalizace koncového volání, a pole výrazů parametrů. Dá se použít, když typ delegáta není v době kompilace známý.
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
Parametry
- body
- Expression
An Expression , která nastaví Body vlastnost na hodnotu rovna.
- tailCall
- Boolean
A Boolean , který označuje, jestli se při kompilaci vytvořeného výrazu použije optimalizace koncového volání.
- parameters
- ParameterExpression[]
Pole obsahující objekty, které ParameterExpression se mají použít k naplnění Parameters kolekce.
Návraty
A LambdaExpression , který má NodeType vlastnost rovna Lambda a Body vlastnosti a Parameters nastavené na zadané hodnoty.
Platí pro
Lambda(Expression, Boolean, IEnumerable<ParameterExpression>)
- Zdroj:
- LambdaExpression.cs
- Zdroj:
- LambdaExpression.cs
- Zdroj:
- LambdaExpression.cs
LambdaExpression Vytvoří nejprve typ delegáta z těla výrazu, parametr, který označuje, zda bude použita optimalizace koncového volání, a výčet kolekcí výrazů parametrů. Dá se použít, když typ delegáta není v době kompilace známý.
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
Parametry
- body
- Expression
An Expression , která nastaví Body vlastnost na hodnotu rovna.
- tailCall
- Boolean
A Boolean , který označuje, jestli se při kompilaci vytvořeného výrazu použije optimalizace koncového volání.
- parameters
- IEnumerable<ParameterExpression>
Objekt IEnumerable<T> obsahující objekty, které ParameterExpression se mají použít k naplnění Parameters kolekce.
Návraty
A LambdaExpression , který má NodeType vlastnost rovna Lambda a Body vlastnosti a Parameters nastavené na zadané hodnoty.
Platí pro
Lambda(Type, Expression, IEnumerable<ParameterExpression>)
- Zdroj:
- LambdaExpression.cs
- Zdroj:
- LambdaExpression.cs
- Zdroj:
- LambdaExpression.cs
Vytvoří LambdaExpression místo, kde je typ delegáta známý v době kompilace, s výčetnou kolekcí výrazů parametrů.
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
Parametry
- body
- Expression
An Expression , která nastaví Body vlastnost na hodnotu rovna.
- parameters
- IEnumerable<ParameterExpression>
Objekt IEnumerable<T> obsahující objekty, které ParameterExpression se mají použít k naplnění Parameters kolekce.
Návraty
Objekt, který představuje výraz lambda, který má NodeType vlastnost rovna Lambda a Body vlastnosti a Parameters nastavené na zadané hodnoty.
Výjimky
delegateType
nebo body
je null
.
-nebo-
Jeden nebo více prvků v parameters
souboru je null
.
delegateType
nepředstavuje typ delegáta.
-nebo-
body
. Type představuje typ, který není možné přiřadit k návratu typu delegáta reprezentovaný .delegateType
-nebo-
parameters
neobsahuje stejný počet prvků jako seznam parametrů pro typ delegáta reprezentovaný parametrem delegateType
.
-nebo-
Vlastnost Type elementu parameters
není možné přiřadit z typu odpovídajícího typu parametru typu delegáta reprezentovaný .delegateType
Příklady
Následující příklad ukazuje, jak vytvořit výraz, který představuje výraz lambda, který přidá 1 do předaného argumentu.
// 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
Poznámky
Objekt vrácený z této funkce je typu Expression<TDelegate>. Typ LambdaExpression se používá k reprezentaci vráceného objektu, protože konkrétní typ výrazu lambda není v době kompilace znám.
Počet parametrů pro typ delegáta reprezentovaný parametremdelegateType
se musí rovnat délce parametru parameters
.
Prvky musí parameters
být odkazem na výrazy parametru v body
.
Vlastnost Type výsledného objektu je rovna delegateType
. Pokud parameters
je null
, Parameters je vlastnost výsledného objektu prázdná kolekce.
Platí pro
Lambda(Expression, ParameterExpression[])
- Zdroj:
- LambdaExpression.cs
- Zdroj:
- LambdaExpression.cs
- Zdroj:
- LambdaExpression.cs
LambdaExpression Vytvoří nejprve typ delegáta z textu výrazu a pole výrazů parametrů. Dá se použít, když typ delegáta není v době kompilace známý.
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
Parametry
- body
- Expression
An Expression , která nastaví Body vlastnost na hodnotu rovna.
- parameters
- ParameterExpression[]
Pole ParameterExpression objektů, které se mají použít k naplnění Parameters kolekce.
Návraty
Vlastnost LambdaExpression a, která má NodeType vlastnost rovna Lambda a Body vlastnosti a Parameters nastavené na zadané hodnoty.
Výjimky
parameters
obsahuje více než šestnáct prvků.
Poznámky
Parametr parameters
nesmí obsahovat více než šestnáct prvků.
Prvky musí parameters
být odkazem na výrazy parametru v body
.
Tato metoda vytvoří odpovídající typ delegáta z jednoho z System.Func
obecných delegátů. Potom předá typ delegáta jedné z Lambda metod továrny k LambdaExpressionvytvoření .
Platí pro
Lambda(Expression, IEnumerable<ParameterExpression>)
- Zdroj:
- LambdaExpression.cs
- Zdroj:
- LambdaExpression.cs
- Zdroj:
- LambdaExpression.cs
LambdaExpression Vytvoří nejprve sestavením typu delegáta z textu výrazu a výčetné kolekce výrazů parametrů. Dá se použít, když typ delegáta není v době kompilace známý.
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
Parametry
- body
- Expression
An Expression , která nastaví Body vlastnost na hodnotu rovna.
- parameters
- IEnumerable<ParameterExpression>
Objekt IEnumerable<T> obsahující objekty, které ParameterExpression se mají použít k naplnění Parameters kolekce.
Návraty
A LambdaExpression , který má NodeType vlastnost rovna Lambda a Body vlastnosti a Parameters nastavené na zadané hodnoty.
Platí pro
Lambda<TDelegate>(Expression, String, IEnumerable<ParameterExpression>)
- Zdroj:
- LambdaExpression.cs
- Zdroj:
- LambdaExpression.cs
- Zdroj:
- LambdaExpression.cs
Vytvoří místo Expression<TDelegate> , kde je typ delegáta známý v době kompilace, s názvem pro lambda a výčet kolekcí výrazů parametrů.
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)
Parametry typu
- TDelegate
Typ delegáta.
Parametry
- body
- Expression
An Expression , která nastaví Body vlastnost na hodnotu rovna.
- name
- String
Název lambdy. Používá se ke generování informací o ladění.
- parameters
- IEnumerable<ParameterExpression>
Objekt IEnumerable<T> obsahující objekty, které ParameterExpression se mají použít k naplnění Parameters kolekce.
Návraty
Vlastnost Expression<TDelegate> , která má NodeType vlastnost rovna Lambda a Body vlastnosti a Parameters nastavené na zadané hodnoty.
Platí pro
Lambda<TDelegate>(Expression, Boolean, ParameterExpression[])
- Zdroj:
- LambdaExpression.cs
- Zdroj:
- LambdaExpression.cs
- Zdroj:
- LambdaExpression.cs
Vytvoří místo Expression<TDelegate> , kde je typ delegáta známý v době kompilace, s parametrem, který označuje, zda se použije optimalizace koncového volání, a pole výrazů parametrů.
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)
Parametry typu
- TDelegate
Typ delegáta.
Parametry
- body
- Expression
An Expression , která nastaví Body vlastnost na hodnotu rovna.
- tailCall
- Boolean
A Boolean , který označuje, jestli se při kompilaci vytvořeného výrazu použije optimalizace koncového volání.
- parameters
- ParameterExpression[]
Pole obsahující objekty, které ParameterExpression se mají použít k naplnění Parameters kolekce.
Návraty
Vlastnost Expression<TDelegate> , která má NodeType vlastnost rovna Lambda a Body vlastnosti a Parameters nastavené na zadané hodnoty.
Platí pro
Lambda<TDelegate>(Expression, String, Boolean, IEnumerable<ParameterExpression>)
- Zdroj:
- LambdaExpression.cs
- Zdroj:
- LambdaExpression.cs
- Zdroj:
- LambdaExpression.cs
Expression<TDelegate> Vytvoří, kde je typ delegáta známý v době kompilace, s názvem pro lambda, parametrem, který označuje, zda se použije optimalizace koncového volání, a výčetnou kolekcí výrazů parametrů.
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)
Parametry typu
- TDelegate
Typ delegáta.
Parametry
- body
- Expression
An Expression , která nastaví Body vlastnost na hodnotu rovna.
- name
- String
Název lambdy. Slouží k generování informací o ladění.
- tailCall
- Boolean
A Boolean , který označuje, jestli se při kompilaci vytvořeného výrazu použije optimalizace koncového volání.
- parameters
- IEnumerable<ParameterExpression>
Objekt IEnumerable<T> obsahující objekty, které ParameterExpression se mají použít k naplnění Parameters kolekce.
Návraty
Vlastnost Expression<TDelegate> , která má NodeType vlastnost rovna Lambda a Body vlastnosti a Parameters nastavené na zadané hodnoty.
Platí pro
Lambda<TDelegate>(Expression, ParameterExpression[])
- Zdroj:
- LambdaExpression.cs
- Zdroj:
- LambdaExpression.cs
- Zdroj:
- LambdaExpression.cs
Vytvoří, Expression<TDelegate> kde typ delegáta je známý v době kompilace, s polem výrazů parametrů.
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)
Parametry typu
- TDelegate
Typ delegáta.
Parametry
- body
- Expression
An Expression , která nastaví Body vlastnost na hodnotu rovna.
- parameters
- ParameterExpression[]
Pole ParameterExpression objektů, které se mají použít k naplnění Parameters kolekce.
Návraty
Vlastnost Expression<TDelegate> má NodeType stejnou Lambda vlastnost a Body vlastnosti a Parameters nastavené na zadané hodnoty.
Výjimky
TDelegate
není typ delegáta.
-nebo-
body
. Type představuje typ, který nelze přiřadit návratovému TDelegate
typu .
-nebo-
parameters
neobsahuje stejný počet prvků jako seznam parametrů pro TDelegate
.
-nebo-
Vlastnost Type elementu parameters
není přiřaditelná z typu odpovídajícího typu parametru .TDelegate
Poznámky
Počet parametrů pro typ TDelegate
delegáta se musí rovnat počtu prvků v parameters
.
Prvky musí parameters
být odkazem na výrazy parametru vbody
.
Vlastnost Type výsledného objektu představuje typ TDelegate
. Pokud parameters
je null
, Parameters vlastnost výsledného objektu je prázdná kolekce.
Platí pro
Lambda<TDelegate>(Expression, IEnumerable<ParameterExpression>)
- Zdroj:
- LambdaExpression.cs
- Zdroj:
- LambdaExpression.cs
- Zdroj:
- LambdaExpression.cs
Vytvoří, Expression<TDelegate> kde typ delegáta je znám v době kompilace, s výčtovou kolekcí výrazů parametrů.
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)
Parametry typu
- TDelegate
Typ delegáta.
Parametry
- body
- Expression
Pro Expression nastavení Body vlastnosti na hodnotu .
- parameters
- IEnumerable<ParameterExpression>
Obsahuje IEnumerable<T> objekty, které ParameterExpression se mají použít k naplnění Parameters kolekce.
Návraty
Vlastnost Expression<TDelegate> má NodeType stejnou Lambda vlastnost a Body vlastnosti a Parameters nastavené na zadané hodnoty.
Výjimky
TDelegate
není typ delegáta.
-nebo-
body
. Typ představuje typ, který nelze přiřadit návratový TDelegate
typ .
-nebo-
parameters
neobsahuje stejný počet prvků jako seznam parametrů pro TDelegate
.
-nebo-
Vlastnost Type elementu parameters
není možné přiřadit z typu odpovídajícího typu parametru .TDelegate
Poznámky
Počet parametrů pro typ TDelegate
delegátu se musí rovnat počtu prvků v parameters
souboru .
Prvky musí parameters
být odkazem na výrazy parametrů v body
.
Vlastnost Type výsledného objektu představuje typ TDelegate
. Pokud parameters
je null
, Parameters vlastnost výsledného objektu je prázdná kolekce.
Platí pro
Lambda<TDelegate>(Expression, Boolean, IEnumerable<ParameterExpression>)
- Zdroj:
- LambdaExpression.cs
- Zdroj:
- LambdaExpression.cs
- Zdroj:
- LambdaExpression.cs
Vytvoří, Expression<TDelegate> kde typ delegáta je známý v době kompilace, s parametrem, který označuje, zda bude použita optimalizace koncového volání, a výčtovou kolekci výrazů parametrů.
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)
Parametry typu
- TDelegate
Typ delegáta.
Parametry
- body
- Expression
Pro Expression nastavení Body vlastnosti na hodnotu .
- tailCall
- Boolean
A Boolean , který označuje, jestli se při kompilaci vytvořeného výrazu použije optimalizace koncového volání.
- parameters
- IEnumerable<ParameterExpression>
Obsahuje IEnumerable<T> objekty, které ParameterExpression se mají použít k naplnění Parameters kolekce.
Návraty
Vlastnost Expression<TDelegate> má NodeType stejnou Lambda vlastnost a Body vlastnosti a Parameters nastavené na zadané hodnoty.