Expression.Lambda Metoda

Definicja

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

delegateType
Type

Reprezentujący Type podpis delegata dla lambda.

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

delegateType
Type

Reprezentujący Type podpis delegata dla lambda.

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

delegateType
Type

Reprezentujący Type podpis delegata dla lambda.

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

delegateType
Type

Element Type reprezentujący podpis delegata dla lambda.

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

delegateType
Type

Reprezentujący Type podpis delegata dla lambda.

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

delegateType
Type

Element Type reprezentujący podpis delegata dla lambda.

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

body to 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ż 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

body to 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 TDelegateelementu .

-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 nullwartość , 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

body to 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 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 nullwartość , 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