Expression.Invoke Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Erstellt ein InvocationExpression.
Überlädt
| Name | Beschreibung |
|---|---|
| Invoke(Expression, Expression[]) |
Erstellt eine InvocationExpression Stellvertretung oder einen Lambda-Ausdruck auf eine Liste von Argumentausdrücken. |
| Invoke(Expression, IEnumerable<Expression>) |
Erstellt eine InvocationExpression Stellvertretung oder einen Lambda-Ausdruck auf eine Liste von Argumentausdrücken. |
Invoke(Expression, Expression[])
- Quelle:
- InvocationExpression.cs
- Quelle:
- InvocationExpression.cs
- Quelle:
- InvocationExpression.cs
- Quelle:
- InvocationExpression.cs
- Quelle:
- InvocationExpression.cs
Erstellt eine InvocationExpression Stellvertretung oder einen Lambda-Ausdruck auf eine Liste von Argumentausdrücken.
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
Ein Expression Wert, der den zu anwendenden Delegat- oder Lambda-Ausdruck darstellt.
- arguments
- Expression[]
Ein Array von Expression Objekten, die die Argumente darstellen, auf die der Delegat- oder Lambda-Ausdruck angewendet wird.
Gibt zurück
Ein Wert InvocationExpression , der den angegebenen Delegaten- oder Lambda-Ausdruck auf die bereitgestellten Argumente anwendet.
Ausnahmen
expression ist null.
expression. Der Typ stellt keinen Delegattyp oder einen Expression<TDelegate>.
- oder -
Die Type Eigenschaft eines Elements von arguments ist dem Typ des entsprechenden Parameters des durch expressiondie Stellvertretung dargestellten Delegaten nicht zuzuweisen.
arguments enthält nicht dieselbe Anzahl von Elementen wie die Liste der Parameter für den delegaten dargestellt durch expression.
Beispiele
Im folgenden Beispiel wird veranschaulicht, wie die Invoke(Expression, Expression[]) Methode zum Erstellen einer InvocationExpression Methode verwendet wird, die den Aufruf eines Lambda-Ausdrucks mit angegebenen Argumenten darstellt.
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)
Hinweise
Die Type Eigenschaft des resultierenden InvocationExpression Objekts stellt den Rückgabetyp des Delegaten dar, der durch expressiondargestellt wird. Typ.
Die Arguments Eigenschaft des resultierenden InvocationExpression Ist-Werts ist leer, wenn arguments dies der Wert ist null. Andernfalls enthält sie dieselben Elemente wie arguments die Ausnahme, dass einige dieser Expression Objekte an zitiert werden können.
Hinweis
Ein Element wird nur zitiert, wenn der entsprechende Parameter des durch expression typ Expressiondargestellten Delegaten angegeben ist. Quoting bedeutet, dass das Element in einen Quote Knoten umbrochen wird. Der resultierende Knoten ist eine UnaryExpression Eigenschaft, deren Operand Eigenschaft das Element von arguments.
Gilt für:
Invoke(Expression, IEnumerable<Expression>)
- Quelle:
- InvocationExpression.cs
- Quelle:
- InvocationExpression.cs
- Quelle:
- InvocationExpression.cs
- Quelle:
- InvocationExpression.cs
- Quelle:
- InvocationExpression.cs
Erstellt eine InvocationExpression Stellvertretung oder einen Lambda-Ausdruck auf eine Liste von Argumentausdrücken.
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
Ein Expression Wert, der den delegat- oder Lambda-Ausdruck darstellt, auf den angewendet werden soll.
- arguments
- IEnumerable<Expression>
Ein IEnumerable<T> Objekt, das Objekte enthält Expression , die die Argumente darstellen, auf die der Delegat- oder Lambda-Ausdruck angewendet wird.
Gibt zurück
Ein Wert InvocationExpression , der den angegebenen Delegaten- oder Lambda-Ausdruck auf die bereitgestellten Argumente anwendet.
Ausnahmen
expression ist null.
expression. Der Typ stellt keinen Delegattyp oder einen Expression<TDelegate>.
- oder -
Die Type Eigenschaft eines Elements von arguments ist dem Typ des entsprechenden Parameters des durch expressiondie Stellvertretung dargestellten Delegaten nicht zuzuweisen.
arguments enthält nicht dieselbe Anzahl von Elementen wie die Liste der Parameter für den delegaten dargestellt durch expression.
Beispiele
Im folgenden Beispiel wird veranschaulicht, wie die Invoke(Expression, Expression[]) Methode zum Erstellen einer InvocationExpression Methode verwendet wird, die den Aufruf eines Lambda-Ausdrucks mit angegebenen Argumenten darstellt.
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)
Hinweise
Die Type Eigenschaft des resultierenden InvocationExpression Objekts stellt den Rückgabetyp des Delegaten dar, der durch expressiondargestellt wird. Typ.
Die Arguments Eigenschaft des resultierenden InvocationExpression Ist-Werts ist leer, wenn arguments dies der Wert ist null. Andernfalls enthält sie dieselben Elemente wie arguments die Ausnahme, dass einige dieser Expression Objekte an zitiert werden können.
Hinweis
Ein Element wird nur zitiert, wenn der entsprechende Parameter des durch expression typ Expressiondargestellten Delegaten angegeben ist. Quoting bedeutet, dass das Element in einen Quote Knoten umbrochen wird. Der resultierende Knoten ist eine UnaryExpression Eigenschaft, deren Operand Eigenschaft das Element von arguments.