Expression.Lambda Metoda

Definice

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

delegateType
Type

A Type představující podpis delegáta pro lambda.

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

delegateType
Type

A Type představující podpis delegáta pro lambda.

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

delegateType
Type

A Type představující podpis delegáta pro lambda.

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

delegateType
Type

A Type , který představuje podpis delegáta pro lambdu.

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

delegateType
Type

A Type představující podpis delegáta pro lambda.

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

delegateType
Type

A Type , který představuje podpis delegáta pro lambdu.

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

body je null.

-nebo-

Jeden nebo více prvků jsou parametersnull.

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>NodeType stejnou Lambda vlastnost a Body vlastnosti a Parameters nastavené na zadané hodnoty.

Výjimky

body je null.

-nebo-

Jeden nebo více prvků v parameters souboru je null.

TDelegate není typ delegáta.

-nebo-

body. Type představuje typ, který nelze přiřadit návratovému TDelegatetypu .

-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>NodeType stejnou Lambda vlastnost a Body vlastnosti a Parameters nastavené na zadané hodnoty.

Výjimky

body je null.

-nebo-

Jeden nebo více prvků v parameters souboru je null.

TDelegate není typ delegáta.

-nebo-

body. Typ představuje typ, který nelze přiřadit návratový TDelegatetyp .

-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 parameterssouboru .

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>NodeType stejnou Lambda vlastnost a Body vlastnosti a Parameters nastavené na zadané hodnoty.

Platí pro