Expression.Lambda Metode
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
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
- 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
- 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
- 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
- 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
- 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
- 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
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
TDelegate
bukan jenis delegasi.
-atau-
body
. Jenis mewakili jenis yang tidak dapat ditetapkan ke jenis TDelegate
pengembalian .
-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
TDelegate
bukan jenis delegasi.
-atau-
body
. Jenis mewakili jenis yang tidak dapat ditetapkan ke jenis TDelegate
pengembalian .
-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.