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 obiekt, w którym typ delegata jest znany w czasie kompilacji, z nazwą lambda, parametrem wskazującym, czy zostanie zastosowana optymalizacja wywołań ogona, oraz wyliczenie kolekcji 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ń ogona, 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 zostanie zastosowana optymalizacja wywołań ogona, 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[]) |
LambdaExpression Tworzy miejsce, w którym typ delegata jest znany w czasie kompilacji z tablicą wyrażeń parametrów. |
Lambda(Type, Expression, Boolean, ParameterExpression[]) |
LambdaExpression Tworzy obiekt, w którym typ delegata jest znany w czasie kompilacji, z parametrem wskazującym, czy zostanie zastosowana optymalizacja wywołań ogona oraz tablica wyrażeń parametrów. |
Lambda(Expression, String, IEnumerable<ParameterExpression>) |
Tworzy obiekt 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[]) |
Tworzy element LambdaExpression , tworząc najpierw typ delegata z treści wyrażenia, parametr wskazujący, czy optymalizacja wywołań ogona 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 , tworząc najpierw typ delegata z treści wyrażenia, parametr wskazujący, czy optymalizacja wywołań ogona 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>) |
LambdaExpression Tworzy miejsce, 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 wyliczalną 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>) |
Expression<TDelegate> Tworzy miejsce, 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[]) |
Expression<TDelegate> Tworzy miejsce, w którym typ delegata jest znany w czasie kompilacji, z parametrem wskazującym, czy optymalizacja wywołań ogona zostanie zastosowana, 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 wyliczenie kolekcji wyrażeń parametrów. |
Lambda<TDelegate>(Expression, ParameterExpression[]) |
Expression<TDelegate> Tworzy miejsce, w którym typ delegata jest znany w czasie kompilacji z tablicą wyrażeń parametrów. |
Lambda<TDelegate>(Expression, IEnumerable<ParameterExpression>) |
Expression<TDelegate> Tworzy miejsce, w którym typ delegata jest znany w czasie kompilacji z wyliczalną kolekcją wyrażeń parametrów. |
Lambda<TDelegate>(Expression, Boolean, IEnumerable<ParameterExpression>) |
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. |
Lambda(Type, Expression, String, Boolean, IEnumerable<ParameterExpression>)
LambdaExpression Tworzy obiekt, w którym typ delegata jest znany w czasie kompilacji, z nazwą lambda, parametrem wskazującym, czy zostanie zastosowana optymalizacja wywołań ogona, 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 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 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ść 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>)
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
- body
- Expression
Element , 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 używane do wypełniania 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>)
LambdaExpression 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:
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 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ść 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>)
LambdaExpression Tworzy element, tworząc najpierw typ delegata z treści wyrażenia, nazwę lambda, parametr wskazujący, czy zostanie zastosowana optymalizacja wywołań ogona, 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 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 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ść 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, ParameterExpression[])
LambdaExpression Tworzy miejsce, 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 aby ustawić właściwość równą Body .
- 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
to 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 typu zwracanego typu delegata reprezentowanego przez .delegateType
-lub-
parameters
nie zawiera tej samej liczby elementów co lista parametrów dla typu delegata reprezentowanego przez element delegateType
.
-lub-
Właściwość Type elementu elementu parameters
jest niemożliwa do przypisania z typu odpowiadającego mu 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 dla typu delegata reprezentowanego przez delegateType
musi być równa długości parameters
.
Elementy elementu parameters
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
jest to null
, Parameters właściwość wynikowego obiektu jest pustą kolekcją.
Dotyczy
Lambda(Type, Expression, Boolean, ParameterExpression[])
LambdaExpression Tworzy obiekt, w którym typ delegata jest znany w czasie kompilacji, z parametrem wskazującym, czy zostanie zastosowana optymalizacja wywołań ogona 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 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
- ParameterExpression[]
Tablica zawierająca ParameterExpression obiekty używane do wypełniania 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>)
Tworzy obiekt 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);
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 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 używane do wypełniania 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, Boolean, ParameterExpression[])
Tworzy element LambdaExpression , tworząc najpierw typ delegata z treści wyrażenia, parametr wskazujący, czy optymalizacja wywołań ogona 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 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
- ParameterExpression[]
Tablica zawierająca ParameterExpression obiekty używane do wypełniania 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, Boolean, IEnumerable<ParameterExpression>)
Tworzy obiekt LambdaExpression , tworząc najpierw typ delegata z treści wyrażenia, parametr wskazujący, czy optymalizacja wywołań ogona 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 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ść 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, IEnumerable<ParameterExpression>)
LambdaExpression Tworzy miejsce, 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 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
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
to 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 typu zwracanego typu delegata reprezentowanego przez .delegateType
-lub-
parameters
nie zawiera tej samej liczby elementów co lista parametrów dla typu delegata reprezentowanego przez element delegateType
.
-lub-
Właściwość Type elementu elementu parameters
jest niemożliwa do przypisania z typu odpowiadającego mu 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 dla typu delegata reprezentowanego przezdelegateType
musi być równa długości parameters
.
Elementy elementu parameters
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
jest to null
, Parameters właściwość wynikowego obiektu jest pustą kolekcją.
Dotyczy
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.
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 aby ustawić właściwość równą Body .
- 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 ustawioną 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 elementu parameters
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ć obiekt LambdaExpression.
Dotyczy
Lambda(Expression, IEnumerable<ParameterExpression>)
Tworzy obiekt LambdaExpression , tworząc najpierw typ delegata z treści wyrażenia 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::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 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ść 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<TDelegate>(Expression, String, IEnumerable<ParameterExpression>)
Expression<TDelegate> Tworzy miejsce, 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 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 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.
Dotyczy
Lambda<TDelegate>(Expression, Boolean, ParameterExpression[])
Expression<TDelegate> Tworzy miejsce, w którym typ delegata jest znany w czasie kompilacji, z parametrem wskazującym, czy optymalizacja wywołań ogona 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 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
- 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 właściwościom i i BodyParameters ustawioną na określone wartości.
Dotyczy
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 wyliczenie kolekcji 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 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 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.
Dotyczy
Lambda<TDelegate>(Expression, ParameterExpression[])
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
Element , Expression aby ustawić właściwość równą Body .
- 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 i Body właściwości i Parameters ustawione 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 parameters
elementu muszą być odwołaniami równymi wyrażeniom parametrów w elemenciebody
.
Właściwość Type wynikowego obiektu reprezentuje typ TDelegate
. Jeśli parameters
parametr ma null
wartość , Parameters właściwość wynikowego obiektu jest pustą kolekcją.
Dotyczy
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.
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 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ść 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.
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 parameters
elementu 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
parametr ma null
wartość , Parameters właściwość wynikowego obiektu jest pustą kolekcją.
Dotyczy
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.
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 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ść 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
Opinia
https://aka.ms/ContentUserFeedback.
Już wkrótce: w ciągu 2024 r. będziemy stopniowo usuwać problemy z usługą GitHub jako mechanizm opinii na temat zawartości i zastępować go nowym systemem opinii. Aby uzyskać więcej informacji, sprawdź:Prześlij i wyświetl opinię dla