Expression.Lambda Metoda
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Tworzy drzewo wyrażeń reprezentujące wyrażenie lambda.
Przeciążenia
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 optymalizacja wywołań końcowych zostanie zastosowana, oraz wyliczenie kolekcji wyrażeń parametrów. |
Lambda(Type, Expression, String, IEnumerable<ParameterExpression>) |
Tworzy miejsce LambdaExpression , 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>) |
Tworzy miejsce LambdaExpression , 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>) |
Tworzy element LambdaExpression przez utworzenie typu delegata na podstawie treści wyrażenia, nazwy lambda, parametru wskazującego, 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, 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[]) |
Tworzy miejsce LambdaExpression , w którym typ delegata jest znany w czasie kompilacji, z parametrem wskazującym, czy optymalizacja wywołań końcowych zostanie zastosowana, oraz tablica wyrażeń parametrów. |
Lambda(Expression, String, IEnumerable<ParameterExpression>) |
Tworzy obiekt LambdaExpression przez utworzenie typu delegata na podstawie treści wyrażenia, nazwy wyrażenia lambda i wyliczalnej kolekcji wyrażeń parametrów. Może być używany, gdy typ delegata nie jest znany w czasie kompilacji. |
Lambda(Expression, Boolean, ParameterExpression[]) |
Tworzy obiekt LambdaExpression przez utworzenie typu delegata na podstawie treści wyrażenia, parametru wskazującego, czy optymalizacja wywołań końcowych zostanie zastosowana, 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 obiekt LambdaExpression przez utworzenie typu delegata na podstawie treści wyrażenia, parametru wskazującego, czy optymalizacja wywołań końcowych zostanie zastosowana, 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 przez utworzenie typu delegata na podstawie treści wyrażenia i tablicy 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 przez utworzenie typu delegata na podstawie treści wyrażenia i wyliczalnej kolekcji 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 optymalizacja wywołań końcowych zostanie zastosowana, oraz tablica wyrażeń parametrów. |
Lambda<TDelegate>(Expression, String, Boolean, IEnumerable<ParameterExpression>) |
Tworzy miejsce Expression<TDelegate> , w którym typ delegata jest znany w czasie kompilacji, z nazwą lambda, parametrem wskazującym, czy zostanie zastosowana optymalizacja wywołań końcowych 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 optymalizacja wywołań końcowych zostanie zastosowana, 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
LambdaExpression Tworzy miejsce, w którym typ delegata jest znany w czasie kompilacji, z nazwą lambda, parametrem wskazującym, czy optymalizacja wywołań końcowych zostanie zastosowana, oraz wyliczenie kolekcji 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
- body
- Expression
Element Expression do ustawiania Body właściwości równej.
- name
- String
Nazwa lambda. Służy do emitowania informacji debugowania.
- tailCall
- Boolean
Element Boolean wskazujący, czy podczas kompilowania utworzonego wyrażenia zostanie zastosowana optymalizacja wywołań końcowych.
- parameters
- IEnumerable<ParameterExpression>
Obiekt IEnumerable<T> zawierający ParameterExpression obiekty używane do wypełniania kolekcji Parameters .
Zwraca
Właściwość LambdaExpression , która ma NodeType właściwość równą 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
Tworzy miejsce LambdaExpression , 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
- body
- Expression
Element Expression do ustawiania Body właściwości równej.
- name
- String
Nazwa lambda. Służy do emitowania informacji debugowania.
- parameters
- IEnumerable<ParameterExpression>
Obiekt IEnumerable<T> zawierający ParameterExpression obiekty używane do wypełniania kolekcji Parameters .
Zwraca
Właściwość LambdaExpression , która ma NodeType właściwość równą 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
Tworzy miejsce LambdaExpression , 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
- body
- Expression
Element Expression do ustawiania Body właściwości równej.
- tailCall
- Boolean
Element Boolean wskazujący, czy podczas kompilowania utworzonego wyrażenia zostanie zastosowana optymalizacja wywołań końcowych.
- parameters
- IEnumerable<ParameterExpression>
Obiekt IEnumerable<T> zawierający ParameterExpression obiekty używane do wypełniania kolekcji Parameters .
Zwraca
Właściwość LambdaExpression , która ma NodeType właściwość równą 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
Tworzy element LambdaExpression przez utworzenie typu delegata na podstawie treści wyrażenia, nazwy lambda, parametru wskazującego, 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, 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
Element Expression do ustawiania Body właściwości równej.
- name
- String
Nazwa lambda. Służy do emitowania informacji debugowania.
- tailCall
- Boolean
Element Boolean wskazujący, czy podczas kompilowania utworzonego wyrażenia zostanie zastosowana optymalizacja wywołań końcowych.
- parameters
- IEnumerable<ParameterExpression>
Obiekt IEnumerable<T> zawierający ParameterExpression obiekty używane do wypełniania kolekcji Parameters .
Zwraca
Właściwość LambdaExpression , która ma NodeType właściwość równą lambda i Body właściwości i Parameters ustawione na określone wartości.
Dotyczy
Lambda(Type, Expression, ParameterExpression[])
- Ź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
- body
- Expression
Element Expression do ustawiania Body właściwości równej.
- parameters
- ParameterExpression[]
Tablica ParameterExpression obiektów do użycia w celu wypełnienia kolekcji Parameters .
Zwraca
Obiekt reprezentujący wyrażenie lambda, które ma NodeType właściwość równą Lambda i Body właściwości i Parameters 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 delegateType
.
-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 parameters
elementu muszą być odwołaniami równymi wyrażeniom parametrów w elemencie body
.
Właściwość Type wynikowego obiektu jest równa delegateType
. Jeśli parameters
parametr ma null
wartość , 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
Tworzy miejsce LambdaExpression , w którym typ delegata jest znany w czasie kompilacji, z parametrem wskazującym, czy optymalizacja wywołań końcowych zostanie zastosowana, 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
- body
- Expression
Element Expression do ustawiania Body właściwości równej.
- tailCall
- Boolean
Element Boolean wskazujący, czy podczas kompilowania utworzonego wyrażenia zostanie zastosowana optymalizacja wywołań końcowych.
- parameters
- ParameterExpression[]
Tablica zawierająca ParameterExpression obiekty używane do wypełniania kolekcji Parameters .
Zwraca
Właściwość LambdaExpression , która ma NodeType właściwość równą 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
Tworzy obiekt LambdaExpression przez utworzenie typu delegata na podstawie treści wyrażenia, nazwy wyrażenia lambda i wyliczalnej 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, 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
Element Expression do ustawiania Body właściwości równej.
- name
- String
Nazwa lambda. Służy do emitowania informacji debugowania.
- parameters
- IEnumerable<ParameterExpression>
Obiekt IEnumerable<T> zawierający ParameterExpression obiekty używane do wypełniania kolekcji Parameters .
Zwraca
Właściwość LambdaExpression , która ma NodeType właściwość równą lambda i Body właściwości i Parameters ustawione na określone wartości.
Dotyczy
Lambda(Expression, Boolean, ParameterExpression[])
- Źródło:
- LambdaExpression.cs
- Źródło:
- LambdaExpression.cs
- Źródło:
- LambdaExpression.cs
Tworzy obiekt LambdaExpression przez utworzenie typu delegata na podstawie treści wyrażenia, parametru wskazującego, czy optymalizacja wywołań końcowych zostanie zastosowana, 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);
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
Element Expression do ustawiania Body właściwości równej.
- tailCall
- Boolean
Element Boolean wskazujący, czy podczas kompilowania utworzonego wyrażenia zostanie zastosowana optymalizacja wywołań końcowych.
- parameters
- ParameterExpression[]
Tablica zawierająca ParameterExpression obiekty używane do wypełniania kolekcji Parameters .
Zwraca
Właściwość LambdaExpression , która ma NodeType właściwość równą lambda i Body właściwości i Parameters ustawione na określone wartości.
Dotyczy
Lambda(Expression, Boolean, IEnumerable<ParameterExpression>)
- Źródło:
- LambdaExpression.cs
- Źródło:
- LambdaExpression.cs
- Źródło:
- LambdaExpression.cs
Tworzy obiekt LambdaExpression przez utworzenie typu delegata na podstawie treści wyrażenia, parametru wskazującego, czy optymalizacja wywołań końcowych zostanie zastosowana, 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);
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
Element Expression do ustawiania Body właściwości równej.
- tailCall
- Boolean
Element Boolean wskazujący, czy podczas kompilowania utworzonego wyrażenia zostanie zastosowana optymalizacja wywołań końcowych.
- parameters
- IEnumerable<ParameterExpression>
Obiekt IEnumerable<T> zawierający ParameterExpression obiekty używane do wypełniania kolekcji Parameters .
Zwraca
Właściwość LambdaExpression , która ma NodeType właściwość równą lambda i Body właściwości i Parameters ustawione na określone wartości.
Dotyczy
Lambda(Type, Expression, IEnumerable<ParameterExpression>)
- Ź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
- body
- Expression
Element Expression do ustawiania Body właściwości równej.
- parameters
- IEnumerable<ParameterExpression>
Obiekt IEnumerable<T> zawierający ParameterExpression obiekty używane do wypełniania kolekcji Parameters .
Zwraca
Obiekt reprezentujący wyrażenie lambda, które ma NodeType właściwość równą Lambda i Body właściwości i Parameters 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 delegateType
.
-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 parameters
elementu muszą być odwołaniami równymi wyrażeniom parametrów w elemencie body
.
Właściwość Type wynikowego obiektu jest równa delegateType
. Jeśli parameters
parametr ma null
wartość , 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
Tworzy obiekt LambdaExpression przez utworzenie typu delegata na podstawie treści wyrażenia i tablicy 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);
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
Element Expression do ustawiania Body właściwości równej.
- parameters
- ParameterExpression[]
Tablica ParameterExpression obiektów do użycia w celu 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 ustawione na określone wartości.
Wyjątki
parameters
zawiera więcej niż szesnaście elementów.
Uwagi
Parametr parameters
nie może zawierać więcej niż szesnastu elementów.
Elementy parameters
elementu muszą być odwołaniami równymi wyrażeniom 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ć element LambdaExpression.
Dotyczy
Lambda(Expression, IEnumerable<ParameterExpression>)
- Źródło:
- LambdaExpression.cs
- Źródło:
- LambdaExpression.cs
- Źródło:
- LambdaExpression.cs
Tworzy obiekt LambdaExpression przez utworzenie typu delegata na podstawie treści wyrażenia i wyliczalnej 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, 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
Element Expression do ustawiania Body właściwości równej.
- parameters
- IEnumerable<ParameterExpression>
Obiekt IEnumerable<T> zawierający ParameterExpression obiekty używane do wypełniania kolekcji Parameters .
Zwraca
Właściwość LambdaExpression , która ma NodeType właściwość równą lambda i Body właściwości i Parameters ustawione na określone wartości.
Dotyczy
Lambda<TDelegate>(Expression, String, IEnumerable<ParameterExpression>)
- Ź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
Element Expression do ustawiania Body właściwości równej.
- name
- String
Nazwa lambda. Służy do generowania informacji o debugowaniu.
- parameters
- IEnumerable<ParameterExpression>
Obiekt IEnumerable<T> zawierający ParameterExpression obiekty używane do wypełniania 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 ustawione 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
Tworzy miejsce Expression<TDelegate> , w którym typ delegata jest znany w czasie kompilacji, z parametrem wskazującym, czy optymalizacja wywołań końcowych zostanie zastosowana, 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
Element Expression do ustawiania Body właściwości równej.
- tailCall
- Boolean
Element Boolean wskazujący, czy podczas kompilowania utworzonego wyrażenia zostanie zastosowana optymalizacja wywołań końcowych.
- parameters
- ParameterExpression[]
Tablica zawierająca ParameterExpression obiekty używane do wypełniania 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 ustawione 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
Tworzy miejsce Expression<TDelegate> , w którym typ delegata jest znany w czasie kompilacji, z nazwą lambda, parametrem wskazującym, czy zostanie zastosowana optymalizacja wywołań końcowych 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
Element Expression do ustawiania Body właściwości równej.
- name
- String
Nazwa lambda. Służy do generowania informacji o debugowaniu.
- tailCall
- Boolean
Element Boolean wskazujący, czy podczas kompilowania utworzonego wyrażenia zostanie zastosowana optymalizacja wywołań końcowych.
- parameters
- IEnumerable<ParameterExpression>
Obiekt IEnumerable<T> zawierający ParameterExpression obiekty używane do wypełniania 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 ustawione 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
Expression<TDelegate> Tworzy miejsce, 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
Element Expression do ustawiania Body właściwości równej.
- parameters
- ParameterExpression[]
Tablica ParameterExpression obiektów do użycia w celu wypełnienia kolekcji Parameters .
Zwraca
WłaściwośćExpression<TDelegate>, która ma właściwość równą LambdaNodeType właściwościom i i BodyParameters ustawioną na określone wartości.
Wyjątki
TDelegate
nie jest typem delegata.
-lub-
body
. Typ reprezentuje typ, który nie można przypisać do zwracanego TDelegate
typu .
-lub-
parameters
program nie zawiera tej samej liczby elementów, co lista parametrów dla elementu TDelegate
.
-lub-
Właściwość Type elementu parameters
elementu 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 elemecie parameters
.
Elementy elementu parameters
muszą być odwołaniami równymi wyrażeniom parametrów wbody
.
Właściwość Type wynikowego obiektu reprezentuje typ TDelegate
. Jeśli parameters
jest 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
Expression<TDelegate> Tworzy miejsce, 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
Element , Expression aby ustawić właściwość równą Body .
- parameters
- IEnumerable<ParameterExpression>
Obiekt IEnumerable<T> zawierający ParameterExpression obiekty używane do wypełniania kolekcji Parameters .
Zwraca
WłaściwośćExpression<TDelegate>, która ma właściwość równą LambdaNodeType właściwościom i i BodyParameters ustawioną na określone wartości.
Wyjątki
TDelegate
nie jest typem delegata.
-lub-
body
. Typ reprezentuje typ, który nie można przypisać do zwracanego TDelegate
typu .
-lub-
parameters
nie zawiera tej samej liczby elementów co lista parametrów dla TDelegate
elementu .
-lub-
Właściwość Type elementu elementu parameters
jest niemożliwa do przypisania z typu odpowiadającego mu typu parametru TDelegate
.
Uwagi
Liczba parametrów typu TDelegate
delegata musi być równa liczbie elementów w elemecie parameters
.
Elementy elementu parameters
muszą być odwołaniami równymi wyrażeniom parametrów w elemencie body
.
Właściwość Type wynikowego obiektu reprezentuje typ TDelegate
. Jeśli parameters
jest 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
Expression<TDelegate> Tworzy miejsce, w którym typ delegata jest znany w czasie kompilacji, z parametrem wskazującym, czy zostanie zastosowana optymalizacja wywołań ogona, 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
Element , Expression aby ustawić właściwość równą Body .
- tailCall
- Boolean
Element Boolean wskazujący, czy podczas kompilowania utworzonego wyrażenia zostanie zastosowana optymalizacja wywołań ogona.
- parameters
- IEnumerable<ParameterExpression>
Obiekt IEnumerable<T> zawierający ParameterExpression obiekty używane do wypełniania kolekcji Parameters .
Zwraca
WłaściwośćExpression<TDelegate>, która ma właściwość równą LambdaNodeType właściwościom i i BodyParameters ustawioną na określone wartości.