Bagikan melalui


Expression.Lambda Metode

Definisi

Membuat pohon ekspresi yang mewakili ekspresi lambda.

Overload

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

LambdaExpression Membuat tempat jenis delegasi diketahui pada waktu kompilasi, dengan nama untuk lambda, parameter yang menunjukkan apakah pengoptimalan panggilan ekor akan diterapkan, dan kumpulan ekspresi parameter yang dapat dijumlahkan.

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

LambdaExpression Membuat tempat jenis delegasi diketahui pada waktu kompilasi, dengan nama untuk lambda, dan kumpulan ekspresi parameter yang dapat dijumlahkan.

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

LambdaExpression Membuat tempat jenis delegasi diketahui pada waktu kompilasi, dengan parameter yang menunjukkan apakah pengoptimalan panggilan ekor akan diterapkan, dan kumpulan ekspresi parameter yang dapat dijumlahkan.

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

LambdaExpression Membuat dengan terlebih dahulu membuat jenis delegasi dari isi ekspresi, nama untuk lambda, parameter yang menunjukkan apakah pengoptimalan panggilan ekor akan diterapkan, dan kumpulan ekspresi parameter yang dapat dijumlahkan. Ini dapat digunakan ketika jenis delegasi tidak diketahui pada waktu kompilasi.

Lambda(Type, Expression, ParameterExpression[])

LambdaExpression Membuat tempat jenis delegasi diketahui pada waktu kompilasi, dengan array ekspresi parameter.

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

LambdaExpression Membuat tempat jenis delegasi diketahui pada waktu kompilasi, dengan parameter yang menunjukkan apakah pengoptimalan panggilan ekor akan diterapkan, dan array ekspresi parameter.

Lambda(Expression, String, IEnumerable<ParameterExpression>)

LambdaExpression Membuat dengan terlebih dahulu membuat jenis delegasi dari isi ekspresi, nama untuk lambda, dan koleksi ekspresi parameter yang dapat dijumlahkan. Ini dapat digunakan ketika jenis delegasi tidak diketahui pada waktu kompilasi.

Lambda(Expression, Boolean, ParameterExpression[])

LambdaExpression Membuat dengan terlebih dahulu membuat jenis delegasi dari isi ekspresi, parameter yang menunjukkan apakah pengoptimalan panggilan ekor akan diterapkan, dan array ekspresi parameter. Ini dapat digunakan ketika jenis delegasi tidak diketahui pada waktu kompilasi.

Lambda(Expression, Boolean, IEnumerable<ParameterExpression>)

LambdaExpression Membuat dengan terlebih dahulu membuat jenis delegasi dari isi ekspresi, parameter yang menunjukkan apakah pengoptimalan panggilan ekor akan diterapkan, dan kumpulan ekspresi parameter yang dapat dijumlahkan. Ini dapat digunakan ketika jenis delegasi tidak diketahui pada waktu kompilasi.

Lambda(Type, Expression, IEnumerable<ParameterExpression>)

LambdaExpression Membuat tempat jenis delegasi diketahui pada waktu kompilasi, dengan kumpulan ekspresi parameter yang dapat dijumlahkan.

Lambda(Expression, ParameterExpression[])

LambdaExpression Membuat dengan terlebih dahulu membuat jenis delegasi dari isi ekspresi, dan array ekspresi parameter. Ini dapat digunakan ketika jenis delegasi tidak diketahui pada waktu kompilasi.

Lambda(Expression, IEnumerable<ParameterExpression>)

LambdaExpression Membuat dengan terlebih dahulu membuat jenis delegasi dari isi ekspresi, dan kumpulan ekspresi parameter yang dapat dijumlahkan. Ini dapat digunakan ketika jenis delegasi tidak diketahui pada waktu kompilasi.

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

Expression<TDelegate> Membuat tempat jenis delegasi diketahui pada waktu kompilasi, dengan nama untuk lambda, dan koleksi ekspresi parameter yang dapat dijumlahkan.

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

Expression<TDelegate> Membuat tempat jenis delegasi diketahui pada waktu kompilasi, dengan parameter yang menunjukkan apakah pengoptimalan panggilan ekor akan diterapkan, dan array ekspresi parameter.

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

Expression<TDelegate> Membuat tempat jenis delegasi diketahui pada waktu kompilasi, dengan nama untuk lambda, parameter yang menunjukkan apakah pengoptimalan panggilan ekor akan diterapkan, dan kumpulan ekspresi parameter yang dapat dijumlahkan.

Lambda<TDelegate>(Expression, ParameterExpression[])

Membuat tempat Expression<TDelegate> jenis delegasi diketahui pada waktu kompilasi, dengan array ekspresi parameter.

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

Expression<TDelegate> Membuat tempat jenis delegasi diketahui pada waktu kompilasi, dengan kumpulan ekspresi parameter yang dapat dijumlahkan.

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

Expression<TDelegate> Membuat tempat jenis delegasi diketahui pada waktu kompilasi, dengan parameter yang menunjukkan apakah pengoptimalan panggilan ekor akan diterapkan, dan kumpulan ekspresi parameter yang dapat dijumlahkan.

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

Sumber:
LambdaExpression.cs
Sumber:
LambdaExpression.cs
Sumber:
LambdaExpression.cs

LambdaExpression Membuat tempat jenis delegasi diketahui pada waktu kompilasi, dengan nama untuk lambda, parameter yang menunjukkan apakah pengoptimalan panggilan ekor akan diterapkan, dan kumpulan ekspresi parameter yang dapat dijumlahkan.

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

Parameter

delegateType
Type

yang Type mewakili tanda tangan delegasi untuk lambda.

body
Expression

Untuk Expression mengatur properti sama Body dengan.

name
String

Nama untuk lambda. Digunakan untuk memancarkan informasi debug.

tailCall
Boolean

Boolean yang menunjukkan apakah pengoptimalan panggilan ekor akan diterapkan saat mengkompilasi ekspresi yang dibuat.

parameters
IEnumerable<ParameterExpression>

Yang IEnumerable<T> berisi ParameterExpression objek yang akan digunakan untuk mengisi Parameters koleksi.

Mengembalikan

LambdaExpression yang memiliki NodeType properti yang sama dengan Lambda dan Body properti dan Parameters diatur ke nilai yang ditentukan.

Berlaku untuk

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

Sumber:
LambdaExpression.cs
Sumber:
LambdaExpression.cs
Sumber:
LambdaExpression.cs

LambdaExpression Membuat tempat jenis delegasi diketahui pada waktu kompilasi, dengan nama untuk lambda, dan kumpulan ekspresi parameter yang dapat dijumlahkan.

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

Parameter

delegateType
Type

yang Type mewakili tanda tangan delegasi untuk lambda.

body
Expression

Untuk Expression mengatur properti sama Body dengan.

name
String

Nama untuk lambda. Digunakan untuk memancarkan informasi debug.

parameters
IEnumerable<ParameterExpression>

Yang IEnumerable<T> berisi ParameterExpression objek yang akan digunakan untuk mengisi Parameters koleksi.

Mengembalikan

LambdaExpression yang memiliki NodeType properti yang sama dengan Lambda dan Body properti dan Parameters diatur ke nilai yang ditentukan.

Berlaku untuk

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

Sumber:
LambdaExpression.cs
Sumber:
LambdaExpression.cs
Sumber:
LambdaExpression.cs

LambdaExpression Membuat tempat jenis delegasi diketahui pada waktu kompilasi, dengan parameter yang menunjukkan apakah pengoptimalan panggilan ekor akan diterapkan, dan kumpulan ekspresi parameter yang dapat dijumlahkan.

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

Parameter

delegateType
Type

yang Type mewakili tanda tangan delegasi untuk lambda.

body
Expression

Untuk Expression mengatur properti sama Body dengan.

tailCall
Boolean

Boolean yang menunjukkan apakah pengoptimalan panggilan ekor akan diterapkan saat mengkompilasi ekspresi yang dibuat.

parameters
IEnumerable<ParameterExpression>

Yang IEnumerable<T> berisi ParameterExpression objek yang akan digunakan untuk mengisi Parameters koleksi.

Mengembalikan

LambdaExpression yang memiliki NodeType properti yang sama dengan Lambda dan Body properti dan Parameters diatur ke nilai yang ditentukan.

Berlaku untuk

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

Sumber:
LambdaExpression.cs
Sumber:
LambdaExpression.cs
Sumber:
LambdaExpression.cs

LambdaExpression Membuat dengan terlebih dahulu membuat jenis delegasi dari isi ekspresi, nama untuk lambda, parameter yang menunjukkan apakah pengoptimalan panggilan ekor akan diterapkan, dan kumpulan ekspresi parameter yang dapat dijumlahkan. Ini dapat digunakan ketika jenis delegasi tidak diketahui pada waktu kompilasi.

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

Parameter

body
Expression

Untuk Expression mengatur properti sama Body dengan.

name
String

Nama untuk lambda. Digunakan untuk memancarkan informasi debug.

tailCall
Boolean

Boolean yang menunjukkan apakah pengoptimalan panggilan ekor akan diterapkan saat mengkompilasi ekspresi yang dibuat.

parameters
IEnumerable<ParameterExpression>

Yang IEnumerable<T> berisi ParameterExpression objek yang akan digunakan untuk mengisi Parameters koleksi.

Mengembalikan

LambdaExpression yang memiliki NodeType properti yang sama dengan Lambda dan Body properti dan Parameters diatur ke nilai yang ditentukan.

Berlaku untuk

Lambda(Type, Expression, ParameterExpression[])

Sumber:
LambdaExpression.cs
Sumber:
LambdaExpression.cs
Sumber:
LambdaExpression.cs

LambdaExpression Membuat tempat jenis delegasi diketahui pada waktu kompilasi, dengan array ekspresi parameter.

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

Parameter

delegateType
Type

Type yang mewakili tanda tangan delegasi untuk lambda.

body
Expression

Untuk Expression mengatur properti sama Body dengan.

parameters
ParameterExpression[]

Array ParameterExpression objek yang digunakan untuk mengisi Parameters koleksi.

Mengembalikan

Objek yang mewakili ekspresi lambda yang memiliki NodeType properti sama dengan Lambda dan Body properti dan Parameters diatur ke nilai yang ditentukan.

Pengecualian

delegateType atau body adalah null.

-atau-

Satu atau beberapa elemen di parameters adalah null.

delegateType tidak mewakili jenis delegasi.

-atau-

body. Jenis mewakili jenis yang tidak dapat ditetapkan ke jenis pengembalian dari jenis delegasi yang diwakili oleh delegateType.

-atau-

parameters tidak berisi jumlah elemen yang sama dengan daftar parameter untuk jenis delegasi yang diwakili oleh delegateType.

-atau-

Properti Type elemen parameters tidak dapat ditetapkan dari jenis parameter yang sesuai dari jenis delegasi yang diwakili oleh delegateType.

Keterangan

Objek yang dikembalikan dari fungsi ini berjenis Expression<TDelegate>. Jenis LambdaExpression digunakan untuk mewakili objek yang dikembalikan karena jenis beton ekspresi lambda tidak diketahui pada waktu kompilasi.

Jumlah parameter untuk jenis delegasi yang diwakili oleh harus sama dengan delegateType panjang parameters.

Elemen parameters harus direferensikan sama dengan ekspresi parameter di body.

Properti Type objek yang dihasilkan sama dengan delegateType. Jika parameters adalah null, Parameters properti objek yang dihasilkan adalah koleksi kosong.

Berlaku untuk

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

Sumber:
LambdaExpression.cs
Sumber:
LambdaExpression.cs
Sumber:
LambdaExpression.cs

LambdaExpression Membuat tempat jenis delegasi diketahui pada waktu kompilasi, dengan parameter yang menunjukkan apakah pengoptimalan panggilan ekor akan diterapkan, dan array ekspresi parameter.

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

Parameter

delegateType
Type

yang Type mewakili tanda tangan delegasi untuk lambda.

body
Expression

Untuk Expression mengatur properti sama Body dengan.

tailCall
Boolean

Boolean yang menunjukkan apakah pengoptimalan panggilan ekor akan diterapkan saat mengkompilasi ekspresi yang dibuat.

parameters
ParameterExpression[]

Array yang berisi ParameterExpression objek yang akan digunakan untuk mengisi Parameters koleksi.

Mengembalikan

LambdaExpression yang memiliki NodeType properti yang sama dengan Lambda dan Body properti dan Parameters diatur ke nilai yang ditentukan.

Berlaku untuk

Lambda(Expression, String, IEnumerable<ParameterExpression>)

Sumber:
LambdaExpression.cs
Sumber:
LambdaExpression.cs
Sumber:
LambdaExpression.cs

LambdaExpression Membuat dengan terlebih dahulu membuat jenis delegasi dari isi ekspresi, nama untuk lambda, dan koleksi ekspresi parameter yang dapat dijumlahkan. Ini dapat digunakan ketika jenis delegasi tidak diketahui pada waktu kompilasi.

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

Parameter

body
Expression

Untuk Expression mengatur properti sama Body dengan.

name
String

Nama untuk lambda. Digunakan untuk memancarkan informasi debug.

parameters
IEnumerable<ParameterExpression>

Yang IEnumerable<T> berisi ParameterExpression objek yang akan digunakan untuk mengisi Parameters koleksi.

Mengembalikan

LambdaExpression yang memiliki NodeType properti yang sama dengan Lambda dan Body properti dan Parameters diatur ke nilai yang ditentukan.

Berlaku untuk

Lambda(Expression, Boolean, ParameterExpression[])

Sumber:
LambdaExpression.cs
Sumber:
LambdaExpression.cs
Sumber:
LambdaExpression.cs

LambdaExpression Membuat dengan terlebih dahulu membuat jenis delegasi dari isi ekspresi, parameter yang menunjukkan apakah pengoptimalan panggilan ekor akan diterapkan, dan array ekspresi parameter. Ini dapat digunakan ketika jenis delegasi tidak diketahui pada waktu kompilasi.

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

Parameter

body
Expression

Untuk Expression mengatur properti sama Body dengan.

tailCall
Boolean

Boolean yang menunjukkan apakah pengoptimalan panggilan ekor akan diterapkan saat mengkompilasi ekspresi yang dibuat.

parameters
ParameterExpression[]

Array yang berisi ParameterExpression objek yang akan digunakan untuk mengisi Parameters koleksi.

Mengembalikan

LambdaExpression yang memiliki NodeType properti yang sama dengan Lambda dan Body properti dan Parameters diatur ke nilai yang ditentukan.

Berlaku untuk

Lambda(Expression, Boolean, IEnumerable<ParameterExpression>)

Sumber:
LambdaExpression.cs
Sumber:
LambdaExpression.cs
Sumber:
LambdaExpression.cs

LambdaExpression Membuat dengan terlebih dahulu membuat jenis delegasi dari isi ekspresi, parameter yang menunjukkan apakah pengoptimalan panggilan ekor akan diterapkan, dan kumpulan ekspresi parameter yang dapat dijumlahkan. Ini dapat digunakan ketika jenis delegasi tidak diketahui pada waktu kompilasi.

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

Parameter

body
Expression

Untuk Expression mengatur properti sama Body dengan.

tailCall
Boolean

Boolean yang menunjukkan apakah pengoptimalan panggilan ekor akan diterapkan saat mengkompilasi ekspresi yang dibuat.

parameters
IEnumerable<ParameterExpression>

Yang IEnumerable<T> berisi ParameterExpression objek yang akan digunakan untuk mengisi Parameters koleksi.

Mengembalikan

LambdaExpression yang memiliki NodeType properti yang sama dengan Lambda dan Body properti dan Parameters diatur ke nilai yang ditentukan.

Berlaku untuk

Lambda(Type, Expression, IEnumerable<ParameterExpression>)

Sumber:
LambdaExpression.cs
Sumber:
LambdaExpression.cs
Sumber:
LambdaExpression.cs

LambdaExpression Membuat tempat jenis delegasi diketahui pada waktu kompilasi, dengan kumpulan ekspresi parameter yang dapat dijumlahkan.

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

Parameter

delegateType
Type

Type yang mewakili tanda tangan delegasi untuk lambda.

body
Expression

Untuk Expression mengatur properti sama Body dengan.

parameters
IEnumerable<ParameterExpression>

Yang IEnumerable<T> berisi ParameterExpression objek yang akan digunakan untuk mengisi Parameters koleksi.

Mengembalikan

Objek yang mewakili ekspresi lambda yang memiliki NodeType properti sama dengan Lambda dan Body properti dan Parameters diatur ke nilai yang ditentukan.

Pengecualian

delegateType atau body adalah null.

-atau-

Satu atau beberapa elemen di parameters adalah null.

delegateType tidak mewakili jenis delegasi.

-atau-

body. Jenis mewakili jenis yang tidak dapat ditetapkan ke jenis pengembalian dari jenis delegasi yang diwakili oleh delegateType.

-atau-

parameters tidak berisi jumlah elemen yang sama dengan daftar parameter untuk jenis delegasi yang diwakili oleh delegateType.

-atau-

Properti Type elemen parameters tidak dapat ditetapkan dari jenis parameter yang sesuai dari jenis delegasi yang diwakili oleh delegateType.

Contoh

Contoh berikut menunjukkan cara membuat ekspresi yang mewakili ekspresi lambda yang menambahkan 1 ke argumen yang diteruskan.

// 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

Keterangan

Objek yang dikembalikan dari fungsi ini berjenis Expression<TDelegate>. Jenis LambdaExpression digunakan untuk mewakili objek yang dikembalikan karena jenis beton ekspresi lambda tidak diketahui pada waktu kompilasi.

Jumlah parameter untuk jenis delegasi yang diwakili oleh harus sama dengandelegateType panjang parameters.

Elemen parameters harus direferensikan sama dengan ekspresi parameter di body.

Properti Type objek yang dihasilkan sama dengan delegateType. Jika parameters adalah null, Parameters properti objek yang dihasilkan adalah koleksi kosong.

Berlaku untuk

Lambda(Expression, ParameterExpression[])

Sumber:
LambdaExpression.cs
Sumber:
LambdaExpression.cs
Sumber:
LambdaExpression.cs

LambdaExpression Membuat dengan terlebih dahulu membuat jenis delegasi dari isi ekspresi, dan array ekspresi parameter. Ini dapat digunakan ketika jenis delegasi tidak diketahui pada waktu kompilasi.

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

Parameter

body
Expression

Untuk Expression mengatur properti sama Body dengan.

parameters
ParameterExpression[]

Array ParameterExpression objek yang digunakan untuk mengisi Parameters koleksi.

Mengembalikan

LambdaExpression yang memiliki NodeType properti yang sama dengan Lambda dan Body properti dan Parameters diatur ke nilai yang ditentukan.

Pengecualian

bodyadalah null.

-atau-

Satu atau beberapa elemen parameters adalah null.

parameters berisi lebih dari enam belas elemen.

Keterangan

Parameter parameters tidak boleh memiliki lebih dari enam belas elemen.

Elemen parameters harus direferensikan sama dengan ekspresi parameter di body.

Metode ini membangun jenis delegasi yang sesuai dari salah System.Func satu delegasi generik. Kemudian meneruskan jenis delegasi ke salah Lambda satu metode pabrik untuk membuat LambdaExpression.

Berlaku untuk

Lambda(Expression, IEnumerable<ParameterExpression>)

Sumber:
LambdaExpression.cs
Sumber:
LambdaExpression.cs
Sumber:
LambdaExpression.cs

LambdaExpression Membuat dengan terlebih dahulu membuat jenis delegasi dari isi ekspresi, dan kumpulan ekspresi parameter yang dapat dijumlahkan. Ini dapat digunakan ketika jenis delegasi tidak diketahui pada waktu kompilasi.

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

Parameter

body
Expression

Untuk Expression mengatur properti sama Body dengan.

parameters
IEnumerable<ParameterExpression>

Yang IEnumerable<T> berisi ParameterExpression objek yang akan digunakan untuk mengisi Parameters koleksi.

Mengembalikan

LambdaExpression yang memiliki NodeType properti yang sama dengan Lambda dan Body properti dan Parameters diatur ke nilai yang ditentukan.

Berlaku untuk

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

Sumber:
LambdaExpression.cs
Sumber:
LambdaExpression.cs
Sumber:
LambdaExpression.cs

Expression<TDelegate> Membuat tempat jenis delegasi diketahui pada waktu kompilasi, dengan nama untuk lambda, dan koleksi ekspresi parameter yang dapat dijumlahkan.

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)

Jenis parameter

TDelegate

Jenis delegasi.

Parameter

body
Expression

Untuk Expression mengatur properti sama Body dengan.

name
String

Nama lambda. Digunakan untuk menghasilkan informasi penelusuran kesalahan.

parameters
IEnumerable<ParameterExpression>

Yang IEnumerable<T> berisi ParameterExpression objek yang akan digunakan untuk mengisi Parameters koleksi.

Mengembalikan

Properti Expression<TDelegate> yang memiliki NodeType properti sama dengan Lambda dan Body properti dan Parameters diatur ke nilai yang ditentukan.

Berlaku untuk

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

Sumber:
LambdaExpression.cs
Sumber:
LambdaExpression.cs
Sumber:
LambdaExpression.cs

Expression<TDelegate> Membuat tempat jenis delegasi diketahui pada waktu kompilasi, dengan parameter yang menunjukkan apakah pengoptimalan panggilan ekor akan diterapkan, dan array ekspresi parameter.

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)

Jenis parameter

TDelegate

Jenis delegasi.

Parameter

body
Expression

Untuk Expression mengatur properti sama Body dengan.

tailCall
Boolean

Boolean yang menunjukkan apakah pengoptimalan panggilan ekor akan diterapkan saat mengkompilasi ekspresi yang dibuat.

parameters
ParameterExpression[]

Array yang berisi ParameterExpression objek yang akan digunakan untuk mengisi Parameters koleksi.

Mengembalikan

Properti Expression<TDelegate> yang memiliki NodeType properti sama dengan Lambda dan Body properti dan Parameters diatur ke nilai yang ditentukan.

Berlaku untuk

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

Sumber:
LambdaExpression.cs
Sumber:
LambdaExpression.cs
Sumber:
LambdaExpression.cs

Expression<TDelegate> Membuat tempat jenis delegasi diketahui pada waktu kompilasi, dengan nama untuk lambda, parameter yang menunjukkan apakah pengoptimalan panggilan ekor akan diterapkan, dan kumpulan ekspresi parameter yang dapat dijumlahkan.

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)

Jenis parameter

TDelegate

Jenis delegasi.

Parameter

body
Expression

Untuk Expression mengatur properti sama Body dengan.

name
String

Nama lambda. Digunakan untuk menghasilkan info penelusuran kesalahan.

tailCall
Boolean

Boolean yang menunjukkan apakah pengoptimalan panggilan ekor akan diterapkan saat mengkompilasi ekspresi yang dibuat.

parameters
IEnumerable<ParameterExpression>

Yang IEnumerable<T> berisi ParameterExpression objek yang akan digunakan untuk mengisi Parameters koleksi.

Mengembalikan

Properti Expression<TDelegate> yang memiliki NodeType properti sama dengan Lambda dan Body properti dan Parameters diatur ke nilai yang ditentukan.

Berlaku untuk

Lambda<TDelegate>(Expression, ParameterExpression[])

Sumber:
LambdaExpression.cs
Sumber:
LambdaExpression.cs
Sumber:
LambdaExpression.cs

Membuat tempat Expression<TDelegate> jenis delegasi diketahui pada waktu kompilasi, dengan array ekspresi parameter.

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)

Jenis parameter

TDelegate

Jenis delegasi.

Parameter

body
Expression

Untuk Expression mengatur properti sama Body dengan.

parameters
ParameterExpression[]

Array ParameterExpression objek yang digunakan untuk mengisi Parameters koleksi.

Mengembalikan

Properti Expression<TDelegate> yang memiliki NodeType properti sama dengan Lambda dan Body properti dan Parameters diatur ke nilai yang ditentukan.

Pengecualian

bodyadalah null.

-atau-

Satu atau beberapa elemen di parameters adalah null.

TDelegate bukan jenis delegasi.

-atau-

body. Jenis mewakili jenis yang tidak dapat ditetapkan ke jenis TDelegatepengembalian .

-atau-

parameters tidak berisi jumlah elemen yang sama dengan daftar parameter untuk TDelegate.

-atau-

Properti Type elemen parameters tidak dapat ditetapkan dari jenis parameter yang sesuai dari TDelegate.

Keterangan

Jumlah parameter untuk jenis TDelegate delegasi harus sama dengan jumlah elemen di parameters.

Elemen parameters harus direferensikan sama dengan ekspresi parameter dibody.

Properti Type dari objek yang dihasilkan mewakili jenis TDelegate. Jika parameters adalah null, Parameters properti objek yang dihasilkan adalah koleksi kosong.

Berlaku untuk

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

Sumber:
LambdaExpression.cs
Sumber:
LambdaExpression.cs
Sumber:
LambdaExpression.cs

Expression<TDelegate> Membuat tempat jenis delegasi diketahui pada waktu kompilasi, dengan kumpulan ekspresi parameter yang dapat dijumlahkan.

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)

Jenis parameter

TDelegate

Jenis delegasi.

Parameter

body
Expression

Untuk Expression mengatur properti sama Body dengan.

parameters
IEnumerable<ParameterExpression>

Yang IEnumerable<T> berisi ParameterExpression objek yang akan digunakan untuk mengisi Parameters koleksi.

Mengembalikan

Properti Expression<TDelegate> yang memiliki NodeType properti sama dengan Lambda dan Body properti dan Parameters diatur ke nilai yang ditentukan.

Pengecualian

bodyadalah null.

-atau-

Satu atau beberapa elemen di parameters adalah null.

TDelegate bukan jenis delegasi.

-atau-

body. Jenis mewakili jenis yang tidak dapat ditetapkan ke jenis TDelegatepengembalian .

-atau-

parameters tidak berisi jumlah elemen yang sama dengan daftar parameter untuk TDelegate.

-atau-

Properti Type elemen parameters tidak dapat ditetapkan dari jenis parameter yang sesuai dari TDelegate.

Keterangan

Jumlah parameter untuk jenis TDelegate delegasi harus sama dengan jumlah elemen di parameters.

Elemen parameters harus direferensikan sama dengan ekspresi parameter di body.

Properti Type dari objek yang dihasilkan mewakili jenis TDelegate. Jika parameters adalah null, Parameters properti objek yang dihasilkan adalah koleksi kosong.

Berlaku untuk

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

Sumber:
LambdaExpression.cs
Sumber:
LambdaExpression.cs
Sumber:
LambdaExpression.cs

Expression<TDelegate> Membuat tempat jenis delegasi diketahui pada waktu kompilasi, dengan parameter yang menunjukkan apakah pengoptimalan panggilan ekor akan diterapkan, dan kumpulan ekspresi parameter yang dapat dijumlahkan.

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)

Jenis parameter

TDelegate

Jenis delegasi.

Parameter

body
Expression

Untuk Expression mengatur properti sama Body dengan.

tailCall
Boolean

Boolean yang menunjukkan apakah pengoptimalan panggilan ekor akan diterapkan saat mengkompilasi ekspresi yang dibuat.

parameters
IEnumerable<ParameterExpression>

Yang IEnumerable<T> berisi ParameterExpression objek yang akan digunakan untuk mengisi Parameters koleksi.

Mengembalikan

Properti Expression<TDelegate> yang memiliki NodeType properti sama dengan Lambda dan Body properti dan Parameters diatur ke nilai yang ditentukan.

Berlaku untuk