MethodCallExpression Klasse

Definition

Stellt einen Aufruf für eine statische Methode oder für eine Instanzmethode dar.Represents a call to either static or an instance method.

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

Beispiele

Im folgenden Beispiel wird ein- MethodCallExpression Objekt erstellt, das die Indizierung in einem zweidimensionalen Array darstellt.The following example creates a MethodCallExpression object that represents indexing into a two-dimensional array.

string[,] gradeArray =
    { {"chemistry", "history", "mathematics"}, {"78", "61", "82"} };

System.Linq.Expressions.Expression arrayExpression =
    System.Linq.Expressions.Expression.Constant(gradeArray);

// Create a MethodCallExpression that represents indexing
// into the two-dimensional array 'gradeArray' at (0, 2).
// Executing the expression would return "mathematics".
System.Linq.Expressions.MethodCallExpression methodCallExpression =
    System.Linq.Expressions.Expression.ArrayIndex(
        arrayExpression,
        System.Linq.Expressions.Expression.Constant(0),
        System.Linq.Expressions.Expression.Constant(2));

Console.WriteLine(methodCallExpression.ToString());

// This code produces the following output:
//
// value(System.String[,]).Get(0, 2)
Dim gradeArray(,) As String = _
    {{"chemistry", "history", "mathematics"}, {"78", "61", "82"}}

Dim arrayExpression As System.Linq.Expressions.Expression = _
    System.Linq.Expressions.Expression.Constant(gradeArray)

' Create a MethodCallExpression that represents indexing
' into the two-dimensional array 'gradeArray' at (0, 2).
' Executing the expression would return "mathematics".
Dim methodCallExpression As System.Linq.Expressions.MethodCallExpression = _
    System.Linq.Expressions.Expression.ArrayIndex( _
        arrayExpression, _
        System.Linq.Expressions.Expression.Constant(0), _
        System.Linq.Expressions.Expression.Constant(2))

Console.WriteLine(methodCallExpression.ToString())

' This code produces the following output:
'
' value(System.String[,]).Get(0, 2)

Hinweise

Verwenden Call Sie die Factorymethode, oder, ArrayIndex ArrayIndex um einen zu erstellen MethodCallExpression .Use the Call, ArrayIndex, or ArrayIndex factory method to create a MethodCallExpression.

Der Wert der- NodeType Eigenschaft eines- MethodCallExpression Objekts ist Call .The value of the NodeType property of a MethodCallExpression object is Call.

Eigenschaften

Arguments

Ruft eine Auflistung von Ausdrücken ab, die Argumente der aufgerufenen Methode darstellen.Gets a collection of expressions that represent arguments of the called method.

CanReduce

Gibt an, dass der Knoten zu einem einfacheren Knoten reduziert werden kann.Indicates that the node can be reduced to a simpler node. Wenn true zurückgegeben wird, kann Reduce() aufgerufen werden, um das reduzierte Formular zu erzeugen.If this returns true, Reduce() can be called to produce the reduced form.

(Geerbt von Expression)
Method

Ruft die MethodInfo für die Methode ab, die aufgerufen werden soll.Gets the MethodInfo for the method to be called.

NodeType

Gibt den Knotentyp dieses Expression zurück.Returns the node type of this Expression.

NodeType

Ruft den Knotentyp dieses Expression ab.Gets the node type of this Expression.

(Geerbt von Expression)
Object

Ruft den Expression ab, der die Instanz für Instanzmethodenaufrufe darstellt oder NULL für statische Methodenaufrufe ab.Gets the Expression that represents the instance for instance method calls or null for static method calls.

Type

Ruft den statischen Typ des Ausdrucks ab, den dieser Expression darstellt.Gets the static type of the expression that this Expression represents.

Type

Ruft den statischen Typ des Ausdrucks ab, den dieser Expression darstellt.Gets the static type of the expression that this Expression represents.

(Geerbt von Expression)

Methoden

Accept(ExpressionVisitor)

Sendet an die spezifische Visit-Methode für diesen Knotentyp.Dispatches to the specific visit method for this node type. Beispielsweise ruft MethodCallExpression die Methode VisitMethodCall(MethodCallExpression) auf.For example, MethodCallExpression calls the VisitMethodCall(MethodCallExpression).

Accept(ExpressionVisitor)

Sendet an die spezifische Visit-Methode für diesen Knotentyp.Dispatches to the specific visit method for this node type. Beispielsweise ruft MethodCallExpression die Methode VisitMethodCall(MethodCallExpression) auf.For example, MethodCallExpression calls the VisitMethodCall(MethodCallExpression).

(Geerbt von Expression)
Equals(Object)

Bestimmt, ob das angegebene Objekt gleich dem aktuellen Objekt ist.Determines whether the specified object is equal to the current object.

(Geerbt von Object)
GetHashCode()

Dient als die Standard-HashfunktionServes as the default hash function.

(Geerbt von Object)
GetType()

Ruft den Type der aktuellen Instanz ab.Gets the Type of the current instance.

(Geerbt von Object)
MemberwiseClone()

Erstellt eine flache Kopie des aktuellen Object.Creates a shallow copy of the current Object.

(Geerbt von Object)
Reduce()

Reduziert diesen Knoten zu einem einfacheren Ausdruck.Reduces this node to a simpler expression. Wenn CanReduce true zurückgibt, sollte ein gültiger Ausdruck zurückgegeben werden.If CanReduce returns true, this should return a valid expression. Diese Methode kann einen anderen Knoten zurückgeben, der selbst reduziert werden muss.This method can return another node which itself must be reduced.

(Geerbt von Expression)
ReduceAndCheck()

Reduziert diesen Knoten zu einem einfacheren Ausdruck.Reduces this node to a simpler expression. Wenn CanReduce true zurückgibt, sollte ein gültiger Ausdruck zurückgegeben werden.If CanReduce returns true, this should return a valid expression. Diese Methode kann einen anderen Knoten zurückgeben, der selbst reduziert werden muss.This method can return another node which itself must be reduced.

(Geerbt von Expression)
ReduceExtensions()

Reduziert den Ausdruck zu einem bekannten Knotentyp (kein Erweiterungsknoten) oder gibt nur den Ausdruck zurück, wenn es sich um einen bereits bekannten Typ handelt.Reduces the expression to a known node type (that is not an Extension node) or just returns the expression if it is already a known type.

(Geerbt von Expression)
ToString()

Gibt eine Textdarstellung des Expression zurück.Returns a textual representation of the Expression.

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

Erstellt einen neuen Ausdruck, der diesem ähnelt, verwendet jedoch die angegebenen untergeordneten Elemente.Creates a new expression that is like this one, but using the supplied children. Wenn alle untergeordneten Elemente identisch sind, wird dieser Ausdruck zurückgegeben.If all of the children are the same, it will return this expression.

VisitChildren(ExpressionVisitor)

Reduziert den Knoten und ruft dann den Visitor-Delegaten für den reduzierten Ausdruck auf.Reduces the node and then calls the visitor delegate on the reduced expression. Die Methode löst eine Ausnahme aus, wenn der Knoten nicht reduziert werden kann.The method throws an exception if the node is not reducible.

(Geerbt von Expression)

Explizite Schnittstellenimplementierungen

IArgumentProvider.ArgumentCount

Gibt die Anzahl der Argumente für den Ausdrucksstrukturknoten zurück.Returns the number of arguments to the expression tree node. Sie sollten diesen Member nicht verwenden.You should not use this member. Es ist nur aufgrund der Assemblyumgestaltung öffentlich und wird intern zur Leistungsoptimierung verwendet.It is only public due to assembly refactoring, and it is used internally for performance optimizations.

IArgumentProvider.GetArgument(Int32)

Gibt das Argument bei Index zurück, das ausgelöst wird, wenn der Index außerhalb des gültigen Bereichs liegt.Returns the argument at index, throwing if index is out of bounds. Sie sollten diesen Member nicht verwenden.You should not use this member. Es ist nur aufgrund der Assemblyumgestaltung öffentlich und wird intern zur Leistungsoptimierung verwendet.It is only public due to assembly refactoring, and it is used internally for performance optimizations.

Gilt für: