Udostępnij za pośrednictwem


Expression.Lambda Metoda

Definicja

Tworzy drzewo wyrażeń reprezentujące wyrażenie lambda.

Przeciążenia

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

LambdaExpression Tworzy miejsce, w którym typ delegata jest znany w czasie kompilacji, z nazwą lambda, parametrem wskazującym, czy zostanie zastosowana optymalizacja wywołań końcowych, oraz wyliczalna kolekcja wyrażeń parametrów.

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

LambdaExpression Tworzy miejsce, w którym typ delegata jest znany w czasie kompilacji, z nazwą lambda i wyliczalną kolekcją wyrażeń parametrów.

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

LambdaExpression Tworzy miejsce, w którym typ delegata jest znany w czasie kompilacji, z parametrem wskazującym, czy zostanie zastosowana optymalizacja wywołań końcowych, oraz wyliczenie kolekcji wyrażeń parametrów.

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

LambdaExpression Tworzy element, tworząc najpierw typ delegata z treści wyrażenia, nazwę lambda, parametr wskazujący, czy optymalizacja wywołań końcowych zostanie zastosowana, oraz wyliczalna kolekcja wyrażeń parametrów. Może być używany, gdy typ delegata nie jest znany w czasie kompilacji.

Lambda(Type, Expression, ParameterExpression[])

Tworzy miejsce LambdaExpression , w którym typ delegata jest znany w czasie kompilacji, z tablicą wyrażeń parametrów.

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

LambdaExpression Tworzy miejsce, w którym typ delegata jest znany w czasie kompilacji, z parametrem wskazującym, czy zostanie zastosowana optymalizacja wywołań końcowych, oraz tablica wyrażeń parametrów.

Lambda(Expression, String, IEnumerable<ParameterExpression>)

Tworzy element LambdaExpression , tworząc najpierw typ delegata z treści wyrażenia, nazwę lambda i wyliczalną kolekcję wyrażeń parametrów. Może być używany, gdy typ delegata nie jest znany w czasie kompilacji.

Lambda(Expression, Boolean, ParameterExpression[])

LambdaExpression Tworzy obiekt przez najpierw skonstruowanie typu delegata z treści wyrażenia, parametru wskazującego, czy zostanie zastosowana optymalizacja wywołań końcowych, oraz tablica wyrażeń parametrów. Może być używany, gdy typ delegata nie jest znany w czasie kompilacji.

Lambda(Expression, Boolean, IEnumerable<ParameterExpression>)

Tworzy element LambdaExpression , tworząc najpierw typ delegata z treści wyrażenia, parametr wskazujący, czy zostanie zastosowana optymalizacja wywołań końcowych, oraz wyliczenie kolekcji wyrażeń parametrów. Może być używany, gdy typ delegata nie jest znany w czasie kompilacji.

Lambda(Type, Expression, IEnumerable<ParameterExpression>)

Tworzy miejsce LambdaExpression , w którym typ delegata jest znany w czasie kompilacji, z wyliczalną kolekcją wyrażeń parametrów.

Lambda(Expression, ParameterExpression[])

Tworzy obiekt LambdaExpression , tworząc najpierw typ delegata z treści wyrażenia i tablicę wyrażeń parametrów. Może być używany, gdy typ delegata nie jest znany w czasie kompilacji.

Lambda(Expression, IEnumerable<ParameterExpression>)

Tworzy obiekt LambdaExpression , tworząc najpierw typ delegata z treści wyrażenia i wyliczaną kolekcję wyrażeń parametrów. Może być używany, gdy typ delegata nie jest znany w czasie kompilacji.

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

Tworzy miejsce Expression<TDelegate> , w którym typ delegata jest znany w czasie kompilacji, z nazwą lambda i wyliczalną kolekcją wyrażeń parametrów.

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

Tworzy miejsce Expression<TDelegate> , w którym typ delegata jest znany w czasie kompilacji, z parametrem wskazującym, czy zostanie zastosowana optymalizacja wywołań końcowych, oraz tablica wyrażeń parametrów.

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

Expression<TDelegate> Tworzy miejsce, w którym typ delegata jest znany w czasie kompilacji, z nazwą lambda, parametrem wskazującym, czy zostanie zastosowana optymalizacja wywołań ogona i wyliczalna kolekcja wyrażeń parametrów.

Lambda<TDelegate>(Expression, ParameterExpression[])

Tworzy miejsce Expression<TDelegate> , w którym typ delegata jest znany w czasie kompilacji, z tablicą wyrażeń parametrów.

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

Tworzy miejsce Expression<TDelegate> , w którym typ delegata jest znany w czasie kompilacji, z wyliczalną kolekcją wyrażeń parametrów.

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

Tworzy miejsce Expression<TDelegate> , w którym typ delegata jest znany w czasie kompilacji, z parametrem wskazującym, czy zostanie zastosowana optymalizacja wywołań końcowych, oraz wyliczenie kolekcji wyrażeń parametrów.

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

Źródło:
LambdaExpression.cs
Źródło:
LambdaExpression.cs
Źródło:
LambdaExpression.cs
Źródło:
LambdaExpression.cs
Źródło:
LambdaExpression.cs

LambdaExpression Tworzy miejsce, w którym typ delegata jest znany w czasie kompilacji, z nazwą lambda, parametrem wskazującym, czy zostanie zastosowana optymalizacja wywołań końcowych, oraz wyliczalna kolekcja wyrażeń parametrów.

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

Reprezentacja Type podpisu delegata dla lambda.

body
Expression

Wartość , Expression aby ustawić właściwość równą Body .

name
String

Nazwa lambda. Służy do emitowania informacji debugowania.

tailCall
Boolean

Element Boolean wskazujący, czy optymalizacja wywołań końcowych zostanie zastosowana podczas kompilowania utworzonego wyrażenia.

parameters
IEnumerable<ParameterExpression>

Obiekt IEnumerable<T> zawierający ParameterExpression obiekty do wypełnienia kolekcji Parameters .

Zwraca

Właściwość LambdaExpression , która ma właściwość równą NodeType lambda i Body właściwości i Parameters ustawione na określone wartości.

Dotyczy

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

Źródło:
LambdaExpression.cs
Źródło:
LambdaExpression.cs
Źródło:
LambdaExpression.cs
Źródło:
LambdaExpression.cs
Źródło:
LambdaExpression.cs

LambdaExpression Tworzy miejsce, w którym typ delegata jest znany w czasie kompilacji, z nazwą lambda i wyliczalną kolekcją wyrażeń parametrów.

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

Reprezentacja Type podpisu delegata dla lambda.

body
Expression

Wartość , Expression aby ustawić właściwość równą Body .

name
String

Nazwa lambda. Służy do emitowania informacji debugowania.

parameters
IEnumerable<ParameterExpression>

Obiekt IEnumerable<T> zawierający ParameterExpression obiekty do wypełnienia kolekcji Parameters .

Zwraca

Właściwość LambdaExpression , która ma właściwość równą NodeType lambda i Body właściwości i Parameters ustawione na określone wartości.

Dotyczy

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

Źródło:
LambdaExpression.cs
Źródło:
LambdaExpression.cs
Źródło:
LambdaExpression.cs
Źródło:
LambdaExpression.cs
Źródło:
LambdaExpression.cs

LambdaExpression Tworzy miejsce, w którym typ delegata jest znany w czasie kompilacji, z parametrem wskazującym, czy zostanie zastosowana optymalizacja wywołań końcowych, oraz wyliczenie kolekcji wyrażeń parametrów.

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

Reprezentacja Type podpisu delegata dla lambda.

body
Expression

Wartość , Expression aby ustawić właściwość równą Body .

tailCall
Boolean

Element Boolean wskazujący, czy optymalizacja wywołań końcowych zostanie zastosowana podczas kompilowania utworzonego wyrażenia.

parameters
IEnumerable<ParameterExpression>

Obiekt IEnumerable<T> zawierający ParameterExpression obiekty do wypełnienia kolekcji Parameters .

Zwraca

Właściwość LambdaExpression , która ma właściwość równą NodeType lambda i Body właściwości i Parameters ustawione na określone wartości.

Dotyczy

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

Źródło:
LambdaExpression.cs
Źródło:
LambdaExpression.cs
Źródło:
LambdaExpression.cs
Źródło:
LambdaExpression.cs
Źródło:
LambdaExpression.cs

LambdaExpression Tworzy element, tworząc najpierw typ delegata z treści wyrażenia, nazwę lambda, parametr wskazujący, czy optymalizacja wywołań końcowych zostanie zastosowana, oraz wyliczalna kolekcja wyrażeń parametrów. Może być używany, gdy typ delegata nie jest znany w czasie kompilacji.

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);
[System.Diagnostics.CodeAnalysis.RequiresDynamicCode("Delegate creation requires dynamic code generation.")]
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
[<System.Diagnostics.CodeAnalysis.RequiresDynamicCode("Delegate creation requires dynamic code generation.")>]
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

Wartość , Expression aby ustawić właściwość równą Body .

name
String

Nazwa lambda. Służy do emitowania informacji debugowania.

tailCall
Boolean

Element Boolean wskazujący, czy optymalizacja wywołań końcowych zostanie zastosowana podczas kompilowania utworzonego wyrażenia.

parameters
IEnumerable<ParameterExpression>

Obiekt IEnumerable<T> zawierający ParameterExpression obiekty do wypełnienia kolekcji Parameters .

Zwraca

Właściwość LambdaExpression , która ma właściwość równą NodeType lambda i Body właściwości i Parameters ustawione na określone wartości.

Atrybuty

Dotyczy

Lambda(Type, Expression, ParameterExpression[])

Źródło:
LambdaExpression.cs
Źródło:
LambdaExpression.cs
Źródło:
LambdaExpression.cs
Źródło:
LambdaExpression.cs
Źródło:
LambdaExpression.cs

Tworzy miejsce LambdaExpression , w którym typ delegata jest znany w czasie kompilacji, z tablicą wyrażeń parametrów.

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

Element Type reprezentujący podpis delegata dla lambda.

body
Expression

Wartość , Expression aby ustawić właściwość równą Body .

parameters
ParameterExpression[]

Tablica ParameterExpression obiektów do wypełnienia kolekcji Parameters .

Zwraca

Obiekt reprezentujący wyrażenie lambda, które ma NodeType właściwość równą Lambda i właściwości i BodyParameters ustawione na określone wartości.

Wyjątki

delegateType lub body ma wartość null.

— lub —

Co najmniej jeden element w pliku parameters to null.

delegateType nie reprezentuje typu delegata.

— lub —

body. Typ reprezentuje typ, który nie można przypisać do zwracanego typu delegata reprezentowanego przez delegateType.

— lub —

parameters nie zawiera tej samej liczby elementów co lista parametrów dla typu delegata reprezentowanego przez delegateTypeelement .

— lub —

Właściwość Type elementu parameters elementu nie jest przypisywana z typu odpowiedniego typu parametru typu delegata reprezentowanego przez delegateType.

Uwagi

Obiekt zwracany z tej funkcji jest typu Expression<TDelegate>. Typ LambdaExpression jest używany do reprezentowania zwróconego obiektu, ponieważ konkretny typ wyrażenia lambda nie jest znany w czasie kompilacji.

Liczba parametrów typu delegata reprezentowanego przez delegateType element musi być równa długości parameters.

Elementy elementu parameters muszą być odwołaniami do wyrażeń parametrów w elemencie body.

Właściwość Type wynikowego obiektu jest równa delegateType. Jeśli parameters parametr to null, Parameters właściwość wynikowego obiektu jest pustą kolekcją.

Dotyczy

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

Źródło:
LambdaExpression.cs
Źródło:
LambdaExpression.cs
Źródło:
LambdaExpression.cs
Źródło:
LambdaExpression.cs
Źródło:
LambdaExpression.cs

LambdaExpression Tworzy miejsce, w którym typ delegata jest znany w czasie kompilacji, z parametrem wskazującym, czy zostanie zastosowana optymalizacja wywołań końcowych, oraz tablica wyrażeń parametrów.

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

Reprezentacja Type podpisu delegata dla lambda.

body
Expression

Wartość , Expression aby ustawić właściwość równą Body .

tailCall
Boolean

Element Boolean wskazujący, czy optymalizacja wywołań końcowych zostanie zastosowana podczas kompilowania utworzonego wyrażenia.

parameters
ParameterExpression[]

Tablica zawierająca ParameterExpression obiekty do wypełnienia kolekcji Parameters .

Zwraca

Właściwość LambdaExpression , która ma właściwość równą NodeType lambda i Body właściwości i Parameters ustawione na określone wartości.

Dotyczy

Lambda(Expression, String, IEnumerable<ParameterExpression>)

Źródło:
LambdaExpression.cs
Źródło:
LambdaExpression.cs
Źródło:
LambdaExpression.cs
Źródło:
LambdaExpression.cs
Źródło:
LambdaExpression.cs

Tworzy element LambdaExpression , tworząc najpierw typ delegata z treści wyrażenia, nazwę lambda i wyliczalną kolekcję wyrażeń parametrów. Może być używany, gdy typ delegata nie jest znany w czasie kompilacji.

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);
[System.Diagnostics.CodeAnalysis.RequiresDynamicCode("Delegate creation requires dynamic code generation.")]
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
[<System.Diagnostics.CodeAnalysis.RequiresDynamicCode("Delegate creation requires dynamic code generation.")>]
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

Wartość , Expression aby ustawić właściwość równą Body .

name
String

Nazwa lambda. Służy do emitowania informacji debugowania.

parameters
IEnumerable<ParameterExpression>

Obiekt IEnumerable<T> zawierający ParameterExpression obiekty do wypełnienia kolekcji Parameters .

Zwraca

Właściwość LambdaExpression , która ma właściwość równą NodeType lambda i Body właściwości i Parameters ustawione na określone wartości.

Atrybuty

Dotyczy

Lambda(Expression, Boolean, ParameterExpression[])

Źródło:
LambdaExpression.cs
Źródło:
LambdaExpression.cs
Źródło:
LambdaExpression.cs
Źródło:
LambdaExpression.cs
Źródło:
LambdaExpression.cs

LambdaExpression Tworzy obiekt przez najpierw skonstruowanie typu delegata z treści wyrażenia, parametru wskazującego, czy zostanie zastosowana optymalizacja wywołań końcowych, oraz tablica wyrażeń parametrów. Może być używany, gdy typ delegata nie jest znany w czasie kompilacji.

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);
[System.Diagnostics.CodeAnalysis.RequiresDynamicCode("Delegate creation requires dynamic code generation.")]
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
[<System.Diagnostics.CodeAnalysis.RequiresDynamicCode("Delegate creation requires dynamic code generation.")>]
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

Wartość , Expression aby ustawić właściwość równą Body .

tailCall
Boolean

Element Boolean wskazujący, czy optymalizacja wywołań końcowych zostanie zastosowana podczas kompilowania utworzonego wyrażenia.

parameters
ParameterExpression[]

Tablica zawierająca ParameterExpression obiekty do wypełnienia kolekcji Parameters .

Zwraca

Właściwość LambdaExpression , która ma właściwość równą NodeType lambda i Body właściwości i Parameters ustawione na określone wartości.

Atrybuty

Dotyczy

Lambda(Expression, Boolean, IEnumerable<ParameterExpression>)

Źródło:
LambdaExpression.cs
Źródło:
LambdaExpression.cs
Źródło:
LambdaExpression.cs
Źródło:
LambdaExpression.cs
Źródło:
LambdaExpression.cs

Tworzy element LambdaExpression , tworząc najpierw typ delegata z treści wyrażenia, parametr wskazujący, czy zostanie zastosowana optymalizacja wywołań końcowych, oraz wyliczenie kolekcji wyrażeń parametrów. Może być używany, gdy typ delegata nie jest znany w czasie kompilacji.

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);
[System.Diagnostics.CodeAnalysis.RequiresDynamicCode("Delegate creation requires dynamic code generation.")]
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
[<System.Diagnostics.CodeAnalysis.RequiresDynamicCode("Delegate creation requires dynamic code generation.")>]
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

Wartość , Expression aby ustawić właściwość równą Body .

tailCall
Boolean

Element Boolean wskazujący, czy optymalizacja wywołań końcowych zostanie zastosowana podczas kompilowania utworzonego wyrażenia.

parameters
IEnumerable<ParameterExpression>

Obiekt IEnumerable<T> zawierający ParameterExpression obiekty do wypełnienia kolekcji Parameters .

Zwraca

Właściwość LambdaExpression , która ma właściwość równą NodeType lambda i Body właściwości i Parameters ustawione na określone wartości.

Atrybuty

Dotyczy

Lambda(Type, Expression, IEnumerable<ParameterExpression>)

Źródło:
LambdaExpression.cs
Źródło:
LambdaExpression.cs
Źródło:
LambdaExpression.cs
Źródło:
LambdaExpression.cs
Źródło:
LambdaExpression.cs

Tworzy miejsce LambdaExpression , w którym typ delegata jest znany w czasie kompilacji, z wyliczalną kolekcją wyrażeń parametrów.

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

Element Type reprezentujący podpis delegata dla lambda.

body
Expression

Wartość , Expression aby ustawić właściwość równą Body .

parameters
IEnumerable<ParameterExpression>

Obiekt IEnumerable<T> zawierający ParameterExpression obiekty do wypełnienia kolekcji Parameters .

Zwraca

Obiekt reprezentujący wyrażenie lambda, które ma NodeType właściwość równą Lambda i właściwości i BodyParameters ustawione na określone wartości.

Wyjątki

delegateType lub body ma wartość null.

— lub —

Co najmniej jeden element w pliku parameters to null.

delegateType nie reprezentuje typu delegata.

— lub —

body. Typ reprezentuje typ, który nie można przypisać do zwracanego typu delegata reprezentowanego przez delegateType.

— lub —

parameters nie zawiera tej samej liczby elementów co lista parametrów dla typu delegata reprezentowanego przez delegateTypeelement .

— lub —

Właściwość Type elementu parameters elementu nie jest przypisywana z typu odpowiedniego typu parametru typu delegata reprezentowanego przez delegateType.

Przykłady

W poniższym przykładzie pokazano, jak utworzyć wyrażenie reprezentujące wyrażenie lambda, które dodaje 1 do przekazanego 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

Uwagi

Obiekt zwracany z tej funkcji jest typu Expression<TDelegate>. Typ LambdaExpression jest używany do reprezentowania zwróconego obiektu, ponieważ konkretny typ wyrażenia lambda nie jest znany w czasie kompilacji.

Liczba parametrów typu delegata reprezentowanego przezdelegateType element musi być równa długości parameters.

Elementy elementu parameters muszą być odwołaniami do wyrażeń parametrów w elemencie body.

Właściwość Type wynikowego obiektu jest równa delegateType. Jeśli parameters parametr to null, Parameters właściwość wynikowego obiektu jest pustą kolekcją.

Dotyczy

Lambda(Expression, ParameterExpression[])

Źródło:
LambdaExpression.cs
Źródło:
LambdaExpression.cs
Źródło:
LambdaExpression.cs
Źródło:
LambdaExpression.cs
Źródło:
LambdaExpression.cs

Tworzy obiekt LambdaExpression , tworząc najpierw typ delegata z treści wyrażenia i tablicę wyrażeń parametrów. Może być używany, gdy typ delegata nie jest znany w czasie kompilacji.

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);
[System.Diagnostics.CodeAnalysis.RequiresDynamicCode("Delegate creation requires dynamic code generation.")]
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
[<System.Diagnostics.CodeAnalysis.RequiresDynamicCode("Delegate creation requires dynamic code generation.")>]
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

Wartość , Expression aby ustawić właściwość równą Body .

parameters
ParameterExpression[]

Tablica ParameterExpression obiektów do wypełnienia kolekcji Parameters .

Zwraca

WłaściwośćLambdaExpression, która ma właściwość równą LambdaNodeType i Body właściwości i Parameters ustawioną na określone wartości.

Atrybuty

Wyjątki

Parametr body ma wartość null.

— lub —

Co najmniej jeden element elementu parameters to null.

parameters zawiera więcej niż szesnaście elementów.

Uwagi

Parametr parameters nie może zawierać więcej niż szesnaście elementów.

Elementy elementu parameters muszą być odwołaniami do wyrażeń parametrów w elemencie body.

Ta metoda tworzy odpowiedni typ delegata z jednego z System.Func delegatów ogólnych. Następnie przekazuje typ delegata do jednej z Lambda metod fabryki, aby utworzyć LambdaExpressionobiekt .

Dotyczy

Lambda(Expression, IEnumerable<ParameterExpression>)

Źródło:
LambdaExpression.cs
Źródło:
LambdaExpression.cs
Źródło:
LambdaExpression.cs
Źródło:
LambdaExpression.cs
Źródło:
LambdaExpression.cs

Tworzy obiekt LambdaExpression , tworząc najpierw typ delegata z treści wyrażenia i wyliczaną kolekcję wyrażeń parametrów. Może być używany, gdy typ delegata nie jest znany w czasie kompilacji.

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);
[System.Diagnostics.CodeAnalysis.RequiresDynamicCode("Delegate creation requires dynamic code generation.")]
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
[<System.Diagnostics.CodeAnalysis.RequiresDynamicCode("Delegate creation requires dynamic code generation.")>]
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

Wartość , Expression aby ustawić właściwość równą Body .

parameters
IEnumerable<ParameterExpression>

Obiekt IEnumerable<T> zawierający ParameterExpression obiekty do wypełnienia kolekcji Parameters .

Zwraca

Właściwość LambdaExpression , która ma właściwość równą NodeType lambda i Body właściwości i Parameters ustawione na określone wartości.

Atrybuty

Dotyczy

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

Źródło:
LambdaExpression.cs
Źródło:
LambdaExpression.cs
Źródło:
LambdaExpression.cs
Źródło:
LambdaExpression.cs
Źródło:
LambdaExpression.cs

Tworzy miejsce Expression<TDelegate> , w którym typ delegata jest znany w czasie kompilacji, z nazwą lambda i wyliczalną kolekcją wyrażeń parametrów.

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

Parametry

body
Expression

Wartość , Expression aby ustawić właściwość równą Body .

name
String

Nazwa lambda. Służy do generowania informacji o debugowaniu.

parameters
IEnumerable<ParameterExpression>

Obiekt IEnumerable<T> zawierający ParameterExpression obiekty do wypełnienia kolekcji Parameters .

Zwraca

WłaściwośćExpression<TDelegate>, która ma właściwość równą LambdaNodeType i Body właściwości i Parameters ustawioną na określone wartości.

Dotyczy

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

Źródło:
LambdaExpression.cs
Źródło:
LambdaExpression.cs
Źródło:
LambdaExpression.cs
Źródło:
LambdaExpression.cs
Źródło:
LambdaExpression.cs

Tworzy miejsce Expression<TDelegate> , w którym typ delegata jest znany w czasie kompilacji, z parametrem wskazującym, czy zostanie zastosowana optymalizacja wywołań końcowych, oraz tablica wyrażeń parametrów.

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

Parametry

body
Expression

Wartość , Expression aby ustawić właściwość równą Body .

tailCall
Boolean

Element Boolean wskazujący, czy optymalizacja wywołań końcowych zostanie zastosowana podczas kompilowania utworzonego wyrażenia.

parameters
ParameterExpression[]

Tablica zawierająca ParameterExpression obiekty do wypełnienia kolekcji Parameters .

Zwraca

WłaściwośćExpression<TDelegate>, która ma właściwość równą LambdaNodeType i Body właściwości i Parameters ustawioną na określone wartości.

Dotyczy

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

Źródło:
LambdaExpression.cs
Źródło:
LambdaExpression.cs
Źródło:
LambdaExpression.cs
Źródło:
LambdaExpression.cs
Źródło:
LambdaExpression.cs

Expression<TDelegate> Tworzy miejsce, w którym typ delegata jest znany w czasie kompilacji, z nazwą lambda, parametrem wskazującym, czy zostanie zastosowana optymalizacja wywołań ogona i wyliczalna kolekcja wyrażeń parametrów.

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

Parametry

body
Expression

Wartość , Expression aby ustawić właściwość równą Body .

name
String

Nazwa lambda. Służy do generowania informacji o debugowaniu.

tailCall
Boolean

Element Boolean wskazujący, czy optymalizacja wywołań końcowych zostanie zastosowana podczas kompilowania utworzonego wyrażenia.

parameters
IEnumerable<ParameterExpression>

Obiekt IEnumerable<T> zawierający ParameterExpression obiekty do wypełnienia kolekcji Parameters .

Zwraca

WłaściwośćExpression<TDelegate>, która ma właściwość równą LambdaNodeType i Body właściwości i Parameters ustawioną na określone wartości.

Dotyczy

Lambda<TDelegate>(Expression, ParameterExpression[])

Źródło:
LambdaExpression.cs
Źródło:
LambdaExpression.cs
Źródło:
LambdaExpression.cs
Źródło:
LambdaExpression.cs
Źródło:
LambdaExpression.cs

Tworzy miejsce Expression<TDelegate> , w którym typ delegata jest znany w czasie kompilacji, z tablicą wyrażeń parametrów.

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

Parametry

body
Expression

Wartość , Expression aby ustawić właściwość równą Body .

parameters
ParameterExpression[]

Tablica ParameterExpression obiektów do wypełnienia kolekcji Parameters .

Zwraca

WłaściwośćExpression<TDelegate>, która ma właściwość równą LambdaNodeType i Body właściwości i Parameters ustawioną na określone wartości.

Wyjątki

Parametr body ma wartość null.

— lub —

Co najmniej jeden element w pliku parameters to null.

TDelegate nie jest typem delegata.

— lub —

body. Typ reprezentuje typ, który nie można przypisać do zwracanego TDelegatetypu .

— lub —

parameters nie zawiera tej samej liczby elementów co lista parametrów dla elementu TDelegate.

— lub —

Właściwość Type elementu elementu parameters nie jest przypisywana z typu odpowiadającego mu typu parametru TDelegate.

Uwagi

Liczba parametrów typu TDelegate delegata musi być równa liczbie elementów w elem parameters.

Elementy elementu parameters muszą być odwołaniami do wyrażeń parametrów wbody elemencie .

Właściwość Type wynikowego obiektu reprezentuje typ TDelegate. Jeśli parameters parametr to null, Parameters właściwość wynikowego obiektu jest pustą kolekcją.

Dotyczy

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

Źródło:
LambdaExpression.cs
Źródło:
LambdaExpression.cs
Źródło:
LambdaExpression.cs
Źródło:
LambdaExpression.cs
Źródło:
LambdaExpression.cs

Tworzy miejsce Expression<TDelegate> , w którym typ delegata jest znany w czasie kompilacji, z wyliczalną kolekcją wyrażeń parametrów.

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

Parametry

body
Expression

Wartość , Expression aby ustawić właściwość równą Body .

parameters
IEnumerable<ParameterExpression>

Obiekt IEnumerable<T> zawierający ParameterExpression obiekty do wypełnienia kolekcji Parameters .

Zwraca

WłaściwośćExpression<TDelegate>, która ma właściwość równą LambdaNodeType i Body właściwości i Parameters ustawioną na określone wartości.

Wyjątki

Parametr body ma wartość null.

— lub —

Co najmniej jeden element w pliku parameters to null.

TDelegate nie jest typem delegata.

— lub —

body. Typ reprezentuje typ, który nie można przypisać do zwracanego TDelegatetypu .

— lub —

parameters nie zawiera tej samej liczby elementów co lista parametrów dla elementu TDelegate.

— lub —

Właściwość Type elementu elementu parameters nie jest przypisywana z typu odpowiadającego mu typu parametru TDelegate.

Uwagi

Liczba parametrów typu TDelegate delegata musi być równa liczbie elementów w elem parameters.

Elementy elementu parameters muszą być odwołaniami do wyrażeń parametrów w elemencie body.

Właściwość Type wynikowego obiektu reprezentuje typ TDelegate. Jeśli parameters parametr to null, Parameters właściwość wynikowego obiektu jest pustą kolekcją.

Dotyczy

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

Źródło:
LambdaExpression.cs
Źródło:
LambdaExpression.cs
Źródło:
LambdaExpression.cs
Źródło:
LambdaExpression.cs
Źródło:
LambdaExpression.cs

Tworzy miejsce Expression<TDelegate> , w którym typ delegata jest znany w czasie kompilacji, z parametrem wskazującym, czy zostanie zastosowana optymalizacja wywołań końcowych, oraz wyliczenie kolekcji wyrażeń parametrów.

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

Parametry

body
Expression

Wartość , Expression aby ustawić właściwość równą Body .

tailCall
Boolean

Element Boolean wskazujący, czy optymalizacja wywołań końcowych zostanie zastosowana podczas kompilowania utworzonego wyrażenia.

parameters
IEnumerable<ParameterExpression>

Obiekt IEnumerable<T> zawierający ParameterExpression obiekty do wypełnienia kolekcji Parameters .

Zwraca

WłaściwośćExpression<TDelegate>, która ma właściwość równą LambdaNodeType i Body właściwości i Parameters ustawioną na określone wartości.

Dotyczy