Bagikan melalui


Expression.Invoke Metode

Definisi

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

expressionadalah 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

expressionadalah 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