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í
| Name | Description |
|---|---|
| Invoke(Expression, Expression[]) |
Vytvoří výraz InvocationExpression delegáta nebo výraz lambda na seznam výrazů argumentů. |
| Invoke(Expression, IEnumerable<Expression>) |
Vytvoří výraz InvocationExpression delegáta nebo výraz lambda na seznam výrazů argumentů. |
Invoke(Expression, Expression[])
- Zdroj:
- InvocationExpression.cs
- Zdroj:
- InvocationExpression.cs
- Zdroj:
- InvocationExpression.cs
- Zdroj:
- InvocationExpression.cs
- Zdroj:
- InvocationExpression.cs
Vytvoří výraz InvocationExpression 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
Výraz Expression delegáta nebo výrazu lambda, který se má použít.
- arguments
- Expression[]
Pole Expression objektů, které představují argumenty, na které je použit výraz delegát nebo lambda.
Návraty
Výraz InvocationExpression lambda nebo delegát se použije na zadané argumenty.
Výjimky
expression je null.
expression. Typ nepředstavuje typ delegáta ani typ Expression<TDelegate>.
nebo
Vlastnost Type prvku arguments není možné přiřadit k typu odpovídajícího parametru delegáta reprezentované expression.
arguments neobsahuje stejný počet prvků jako seznam parametrů delegáta reprezentovaný 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. Jinak obsahuje stejné prvky jako arguments některé z těchto Expressionobjektů.
Poznámka:
Prvek bude citován pouze v případě, že odpovídající parametr delegáta reprezentovaný expression je typu Expression. Uvozování znamená, že prvek je zabalený do Quote uzlu. Výsledný uzel je jehož UnaryExpressionOperand vlastnost je prvek arguments.
Platí pro
Invoke(Expression, IEnumerable<Expression>)
- Zdroj:
- InvocationExpression.cs
- Zdroj:
- InvocationExpression.cs
- Zdroj:
- InvocationExpression.cs
- Zdroj:
- InvocationExpression.cs
- Zdroj:
- InvocationExpression.cs
Vytvoří výraz InvocationExpression 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
Jedná se o Expression výraz delegáta nebo výrazu lambda, na který se má použít.
- arguments
- IEnumerable<Expression>
Objekty IEnumerable<T>Expression , které představují argumenty, na které je použit výraz delegát nebo lambda.
Návraty
Výraz InvocationExpression lambda nebo delegát se použije na zadané argumenty.
Výjimky
expression je null.
expression. Typ nepředstavuje typ delegáta ani typ Expression<TDelegate>.
nebo
Vlastnost Type prvku arguments není možné přiřadit k typu odpovídajícího parametru delegáta reprezentované expression.
arguments neobsahuje stejný počet prvků jako seznam parametrů delegáta reprezentovaný 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. Jinak obsahuje stejné prvky jako arguments některé z těchto Expressionobjektů.
Poznámka:
Prvek bude citován pouze v případě, že odpovídající parametr delegáta reprezentovaný expression je typu Expression. Uvozování znamená, že prvek je zabalený do Quote uzlu. Výsledný uzel je jehož UnaryExpressionOperand vlastnost je prvek arguments.