Expression.Invoke Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Vytvoří .InvocationExpression
Přetížení
Invoke(Expression, Expression[]) |
Vytvoří výraz InvocationExpression , který použije výraz delegáta nebo výraz lambda na seznam výrazů argumentů. |
Invoke(Expression, IEnumerable<Expression>) |
Vytvoří výraz InvocationExpression , který použije výraz delegáta nebo výraz lambda na seznam výrazů argumentů. |
Invoke(Expression, Expression[])
- Zdroj:
- InvocationExpression.cs
- Zdroj:
- InvocationExpression.cs
- Zdroj:
- InvocationExpression.cs
Vytvoří výraz InvocationExpression , který použije výraz delegáta nebo výraz lambda na seznam výrazů argumentů.
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
Parametry
- expression
- Expression
Představuje Expression výraz delegáta nebo lambda, který má být použit.
- arguments
- Expression[]
Pole Expression objektů, které představují argumenty, na které je použit výraz delegáta nebo lambda.
Návraty
, InvocationExpression který použije zadaného delegáta nebo výraz lambda na zadané argumenty.
Výjimky
expression
je null
.
expression
. Typ nepředstavuje typ delegáta Expression<TDelegate>ani .
-nebo-
Vlastnost Type prvku arguments
není možné přiřadit k typu odpovídajícího parametru delegáta reprezentované parametrem expression
.
arguments
neobsahuje stejný počet prvků jako seznam parametrů pro delegáta reprezentovaný parametrem expression
.
Příklady
Následující příklad ukazuje, jak použít metodu Invoke(Expression, Expression[]) k vytvoření InvocationExpression , která představuje vyvolání výrazu lambda se zadanými argumenty.
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)
Poznámky
Vlastnost Type výsledného InvocationExpression představuje návratový typ delegáta, který je reprezentován . expression
Typ.
Vlastnost Arguments výsledné InvocationExpression hodnoty je prázdná, pokud arguments
je null
. V opačném případě obsahuje stejné prvky jako arguments
s tím rozdílem, že některé z těchto Expression objektů mohou být citovány.
Poznámka
Prvek bude uvozován pouze v případě, že odpovídající parametr delegáta reprezentovaného parametrem expression
je typu Expression. Uvozování znamená, že element je zabalený Quote v uzlu. Výsledný uzel je, UnaryExpression jehož Operand vlastnost je elementem .arguments
Platí pro
Invoke(Expression, IEnumerable<Expression>)
- Zdroj:
- InvocationExpression.cs
- Zdroj:
- InvocationExpression.cs
- Zdroj:
- InvocationExpression.cs
Vytvoří výraz InvocationExpression , který použije výraz delegáta nebo výraz lambda na seznam výrazů argumentů.
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
Parametry
- expression
- Expression
Představuje Expression výraz delegáta nebo lambda, který má být použit.
- arguments
- IEnumerable<Expression>
Expression Obsahuje IEnumerable<T> objekty, které představují argumenty, na které je použit výraz delegáta nebo lambda.
Návraty
, InvocationExpression který použije zadaného delegáta nebo výraz lambda na zadané argumenty.
Výjimky
expression
je null
.
expression
. Typ nepředstavuje typ delegáta Expression<TDelegate>ani .
-nebo-
Vlastnost Type prvku arguments
není možné přiřadit k typu odpovídajícího parametru delegáta reprezentované parametrem expression
.
arguments
neobsahuje stejný počet prvků jako seznam parametrů pro delegáta reprezentovaný parametrem expression
.
Příklady
Následující příklad ukazuje, jak použít metodu Invoke(Expression, Expression[]) k vytvoření InvocationExpression , která představuje vyvolání výrazu lambda se zadanými argumenty.
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)
Poznámky
Vlastnost Type výsledného InvocationExpression představuje návratový typ delegáta, který je reprezentován . expression
Typ.
Vlastnost Arguments výsledné InvocationExpression hodnoty je prázdná, pokud arguments
je null
. V opačném případě obsahuje stejné prvky jako arguments
s tím rozdílem, že některé z těchto Expression objektů mohou být citovány.
Poznámka
Prvek bude uvozován pouze v případě, že odpovídající parametr delegáta reprezentovaného parametrem expression
je typu Expression. Uvozování znamená, že element je zabalený Quote v uzlu. Výsledný uzel je, UnaryExpression jehož Operand vlastnost je elementem .arguments