InvocationExpression Klasse

Definition

Stellt einen Ausdruck dar, der einen Delegaten- oder Lambda-Ausdruck auf eine Liste von Argumentausdrücken anwendet.

public ref class InvocationExpression sealed : System::Linq::Expressions::Expression, System::Linq::Expressions::IArgumentProvider
public ref class InvocationExpression sealed : System::Linq::Expressions::Expression
public sealed class InvocationExpression : System.Linq.Expressions.Expression, System.Linq.Expressions.IArgumentProvider
public sealed class InvocationExpression : System.Linq.Expressions.Expression
type InvocationExpression = class
    inherit Expression
    interface IArgumentProvider
type InvocationExpression = class
    inherit Expression
Public NotInheritable Class InvocationExpression
Inherits Expression
Implements IArgumentProvider
Public NotInheritable Class InvocationExpression
Inherits Expression
Vererbung
InvocationExpression
Implementiert

Beispiele

Im folgenden Beispiel wird ein InvocationExpression Objekt erstellt, das das Aufrufen 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

Verwenden Sie die Invoke Factorymethoden, um eine InvocationExpression.

Das NodeType von einem InvocationExpression ist Invoke.

Eigenschaften

Name Beschreibung
Arguments

Ruft die Argumente ab, auf die der Delegat- oder Lambda-Ausdruck angewendet wird.

CanReduce

Gibt an, dass der Knoten auf einen einfacheren Knoten reduziert werden kann. Wenn dies "true" zurückgibt, kann "Reduce()" aufgerufen werden, um die reduzierte Form zu erzeugen.

(Geerbt von Expression)
Expression

Ruft den delegat- oder Lambda-Ausdruck ab, der angewendet werden soll.

NodeType

Gibt den Knotentyp dieses Ausdrucks zurück. Erweiterungsknoten sollten beim Überschreiben dieser Methode zurückgegeben werden Extension .

NodeType

Ruft den Knotentyp dieses Expression.

(Geerbt von Expression)
Type

Ruft den statischen Typ des Ausdrucks ab, der dies Expression darstellt.

Type

Ruft den statischen Typ des Ausdrucks ab, der dies Expression darstellt.

(Geerbt von Expression)

Methoden

Name Beschreibung
Accept(ExpressionVisitor)

Verteilt an die spezifische Besuchsmethode für diesen Knotentyp. Ruft z. B. MethodCallExpression die VisitMethodCall(MethodCallExpression).

(Geerbt von Expression)
Equals(Object)

Bestimmt, ob das angegebene Objekt gleich dem aktuellen Objekt ist.

(Geerbt von Object)
GetHashCode()

Dient als Standardhashfunktion.

(Geerbt von Object)
GetType()

Ruft die Type der aktuellen Instanz ab.

(Geerbt von Object)
MemberwiseClone()

Erstellt eine flache Kopie der aktuellen Object.

(Geerbt von Object)
Reduce()

Reduziert diesen Knoten auf einen einfacheren Ausdruck. Wenn CanReduce "true" zurückgibt, sollte dieser einen gültigen Ausdruck zurückgeben. Diese Methode kann einen anderen Knoten zurückgeben, der selbst reduziert werden muss.

(Geerbt von Expression)
ReduceAndCheck()

Reduziert diesen Knoten auf einen einfacheren Ausdruck. Wenn CanReduce "true" zurückgibt, sollte dieser einen gültigen Ausdruck zurückgeben. Diese Methode kann einen anderen Knoten zurückgeben, der selbst reduziert werden muss.

(Geerbt von Expression)
ReduceExtensions()

Reduziert den Ausdruck auf einen bekannten Knotentyp (der kein Erweiterungsknoten ist) oder gibt nur den Ausdruck zurück, wenn er bereits ein bekannter Typ ist.

(Geerbt von Expression)
ToString()

Gibt eine Textdarstellung der Expression.

(Geerbt von Expression)
Update(Expression, IEnumerable<Expression>)

Erstellt einen neuen Ausdruck, der wie dieser ist, aber die bereitgestellten untergeordneten Elemente verwenden. Wenn alle untergeordneten Elemente gleich sind, wird dieser Ausdruck zurückgegeben.

VisitChildren(ExpressionVisitor)

Reduziert den Knoten und ruft dann den Besucherdelegat für den reduzierten Ausdruck auf. Die Methode löst eine Ausnahme aus, wenn der Knoten nicht reducierbar ist.

(Geerbt von Expression)

Explizite Schnittstellenimplementierungen

Name Beschreibung
IArgumentProvider.ArgumentCount

Gibt die Anzahl der Argumente an den Ausdrucksstrukturknoten zurück. Sie sollten dieses Mitglied nicht verwenden. Sie ist nur aufgrund der Umgestaltung der Assembly öffentlich und wird intern für Leistungsoptimierungen verwendet.

IArgumentProvider.GetArgument(Int32)

Gibt das Argument am Index zurück, das ausgelöst wird, wenn der Index außerhalb der Grenzen liegt. Sie sollten dieses Mitglied nicht verwenden. Sie ist nur aufgrund der Umgestaltung der Assembly öffentlich und wird intern für Leistungsoptimierungen verwendet.

Gilt für: