Expression.Invoke 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 sebuah InvocationExpression.
Overload
Invoke(Expression, Expression[]) |
Membuat yang InvocationExpression menerapkan delegasi atau ekspresi lambda ke daftar ekspresi argumen. |
Invoke(Expression, IEnumerable<Expression>) |
Membuat yang InvocationExpression menerapkan delegasi atau ekspresi lambda ke daftar ekspresi argumen. |
Invoke(Expression, Expression[])
- Sumber:
- InvocationExpression.cs
- Sumber:
- InvocationExpression.cs
- Sumber:
- InvocationExpression.cs
Membuat yang InvocationExpression menerapkan delegasi atau ekspresi lambda ke daftar ekspresi argumen.
public:
static System::Linq::Expressions::InvocationExpression ^ Invoke(System::Linq::Expressions::Expression ^ expression, ... cli::array <System::Linq::Expressions::Expression ^> ^ arguments);
public static System.Linq.Expressions.InvocationExpression Invoke (System.Linq.Expressions.Expression expression, params System.Linq.Expressions.Expression[] arguments);
public static System.Linq.Expressions.InvocationExpression Invoke (System.Linq.Expressions.Expression expression, params System.Linq.Expressions.Expression[]? arguments);
static member Invoke : System.Linq.Expressions.Expression * System.Linq.Expressions.Expression[] -> System.Linq.Expressions.InvocationExpression
Public Shared Function Invoke (expression As Expression, ParamArray arguments As Expression()) As InvocationExpression
Parameter
- expression
- Expression
Yang Expression mewakili delegasi atau ekspresi lambda yang akan diterapkan.
- arguments
- Expression[]
Array Expression objek yang mewakili argumen tempat delegasi atau ekspresi lambda diterapkan.
Mengembalikan
Yang InvocationExpression menerapkan delegasi yang ditentukan atau ekspresi lambda ke argumen yang disediakan.
Pengecualian
expression
adalah null
.
expression
. Jenis tidak mewakili jenis delegasi atau Expression<TDelegate>.
-atau-
Properti Type elemen arguments
tidak dapat ditetapkan ke jenis parameter yang sesuai dari delegasi yang diwakili oleh expression
.
arguments
tidak berisi jumlah elemen yang sama dengan daftar parameter untuk delegasi yang diwakili oleh expression
.
Contoh
Contoh berikut menunjukkan cara menggunakan Invoke(Expression, Expression[]) metode untuk membuat InvocationExpression yang mewakili pemanggilan ekspresi lambda dengan argumen yang ditentukan.
System.Linq.Expressions.Expression<Func<int, int, bool>> largeSumTest =
(num1, num2) => (num1 + num2) > 1000;
// Create an InvocationExpression that represents applying
// the arguments '539' and '281' to the lambda expression 'largeSumTest'.
System.Linq.Expressions.InvocationExpression invocationExpression =
System.Linq.Expressions.Expression.Invoke(
largeSumTest,
System.Linq.Expressions.Expression.Constant(539),
System.Linq.Expressions.Expression.Constant(281));
Console.WriteLine(invocationExpression.ToString());
// This code produces the following output:
//
// Invoke((num1, num2) => ((num1 + num2) > 1000),539,281)
Dim largeSumTest As System.Linq.Expressions.Expression(Of System.Func(Of Integer, Integer, Boolean)) = _
Function(num1, num2) (num1 + num2) > 1000
' Create an InvocationExpression that represents applying
' the arguments '539' and '281' to the lambda expression 'largeSumTest'.
Dim invocationExpression As System.Linq.Expressions.InvocationExpression = _
System.Linq.Expressions.Expression.Invoke( _
largeSumTest, _
System.Linq.Expressions.Expression.Constant(539), _
System.Linq.Expressions.Expression.Constant(281))
Console.WriteLine(invocationExpression.ToString())
' This code produces the following output:
'
' Invoke((num1, num2) => ((num1 + num2) > 1000),539,281)
Keterangan
Properti Type dari hasil InvocationExpression mewakili jenis pengembalian delegasi yang diwakili oleh expression
. Jenis.
Properti Arguments dari yang dihasilkan InvocationExpression kosong jika arguments
adalah null
. Jika tidak, ini berisi elemen yang sama seperti arguments
kecuali bahwa beberapa objek ini Expression dapat dikutip.
Catatan
Elemen akan dikutip hanya jika parameter yang sesuai dari delegasi yang diwakili oleh expression
berjenis Expression. Mengutip berarti elemen dibungkus dalam simpul Quote . Simpul yang dihasilkan adalah properti UnaryExpression yang Operand merupakan elemen dari arguments
.
Berlaku untuk
Invoke(Expression, IEnumerable<Expression>)
- Sumber:
- InvocationExpression.cs
- Sumber:
- InvocationExpression.cs
- Sumber:
- InvocationExpression.cs
Membuat yang InvocationExpression menerapkan delegasi atau ekspresi lambda ke daftar ekspresi argumen.
public:
static System::Linq::Expressions::InvocationExpression ^ Invoke(System::Linq::Expressions::Expression ^ expression, System::Collections::Generic::IEnumerable<System::Linq::Expressions::Expression ^> ^ arguments);
public static System.Linq.Expressions.InvocationExpression Invoke (System.Linq.Expressions.Expression expression, System.Collections.Generic.IEnumerable<System.Linq.Expressions.Expression> arguments);
public static System.Linq.Expressions.InvocationExpression Invoke (System.Linq.Expressions.Expression expression, System.Collections.Generic.IEnumerable<System.Linq.Expressions.Expression>? arguments);
static member Invoke : System.Linq.Expressions.Expression * seq<System.Linq.Expressions.Expression> -> System.Linq.Expressions.InvocationExpression
Public Shared Function Invoke (expression As Expression, arguments As IEnumerable(Of Expression)) As InvocationExpression
Parameter
- expression
- Expression
Yang Expression mewakili delegasi atau ekspresi lambda yang akan diterapkan.
- arguments
- IEnumerable<Expression>
Yang IEnumerable<T> berisi Expression objek yang mewakili argumen tempat delegasi atau ekspresi lambda diterapkan.
Mengembalikan
Yang InvocationExpression menerapkan delegasi yang ditentukan atau ekspresi lambda ke argumen yang disediakan.
Pengecualian
expression
adalah null
.
expression
. Jenis tidak mewakili jenis delegasi atau Expression<TDelegate>.
-atau-
Properti Type elemen arguments
tidak dapat ditetapkan ke jenis parameter yang sesuai dari delegasi yang diwakili oleh expression
.
arguments
tidak berisi jumlah elemen yang sama dengan daftar parameter untuk delegasi yang diwakili oleh expression
.
Contoh
Contoh berikut menunjukkan cara menggunakan Invoke(Expression, Expression[]) metode untuk membuat InvocationExpression yang mewakili pemanggilan ekspresi lambda dengan argumen yang ditentukan.
System.Linq.Expressions.Expression<Func<int, int, bool>> largeSumTest =
(num1, num2) => (num1 + num2) > 1000;
// Create an InvocationExpression that represents applying
// the arguments '539' and '281' to the lambda expression 'largeSumTest'.
System.Linq.Expressions.InvocationExpression invocationExpression =
System.Linq.Expressions.Expression.Invoke(
largeSumTest,
System.Linq.Expressions.Expression.Constant(539),
System.Linq.Expressions.Expression.Constant(281));
Console.WriteLine(invocationExpression.ToString());
// This code produces the following output:
//
// Invoke((num1, num2) => ((num1 + num2) > 1000),539,281)
Dim largeSumTest As System.Linq.Expressions.Expression(Of System.Func(Of Integer, Integer, Boolean)) = _
Function(num1, num2) (num1 + num2) > 1000
' Create an InvocationExpression that represents applying
' the arguments '539' and '281' to the lambda expression 'largeSumTest'.
Dim invocationExpression As System.Linq.Expressions.InvocationExpression = _
System.Linq.Expressions.Expression.Invoke( _
largeSumTest, _
System.Linq.Expressions.Expression.Constant(539), _
System.Linq.Expressions.Expression.Constant(281))
Console.WriteLine(invocationExpression.ToString())
' This code produces the following output:
'
' Invoke((num1, num2) => ((num1 + num2) > 1000),539,281)
Keterangan
Properti Type dari hasil InvocationExpression mewakili jenis pengembalian delegasi yang diwakili oleh expression
. Jenis.
Properti Arguments dari yang dihasilkan InvocationExpression kosong jika arguments
adalah null
. Jika tidak, ini berisi elemen yang sama seperti arguments
kecuali bahwa beberapa objek ini Expression dapat dikutip.
Catatan
Elemen akan dikutip hanya jika parameter yang sesuai dari delegasi yang diwakili oleh expression
berjenis Expression. Mengutip berarti elemen dibungkus dalam simpul Quote . Simpul yang dihasilkan adalah properti UnaryExpression yang Operand merupakan elemen dari arguments
.