MethodCallExpression Klasa

Definicja

Reprezentuje wywołanie metody static lub instance.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
Dziedziczenie
MethodCallExpression
Implementuje

Przykłady

Poniższy przykład tworzy MethodCallExpression obiekt, który reprezentuje indeksowanie w tablicy dwuwymiarowej.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)

Uwagi

Użyj Call metody, ArrayIndex lub ArrayIndex fabryki do utworzenia MethodCallExpression .Use the Call, ArrayIndex, or ArrayIndex factory method to create a MethodCallExpression.

Wartość NodeType właściwości MethodCallExpression obiektu to Call .The value of the NodeType property of a MethodCallExpression object is Call.

Właściwości

Arguments

Pobiera kolekcję wyrażeń reprezentujących argumenty wywołanej metody.Gets a collection of expressions that represent arguments of the called method.

CanReduce

Wskazuje, że węzeł można zmniejszyć do prostszego węzła.Indicates that the node can be reduced to a simpler node. Jeśli zwraca wartość true, funkcja Zmniejsz () może zostać wywołana w celu utworzenia zredukowanego formularza.If this returns true, Reduce() can be called to produce the reduced form.

(Odziedziczone po Expression)
Method

Pobiera MethodInfo metodę, która ma zostać wywołana.Gets the MethodInfo for the method to be called.

NodeType

Zwraca typ węzła Expression .Returns the node type of this Expression.

NodeType

Pobiera typ węzła Expression .Gets the node type of this Expression.

(Odziedziczone po Expression)
Object

Pobiera Expression , który reprezentuje wystąpienie dla wywołań metod wystąpienia lub wartość null dla wywołań metod statycznych.Gets the Expression that represents the instance for instance method calls or null for static method calls.

Type

Pobiera typ statyczny wyrażenia reprezentowanego przez to wyrażenie Expression .Gets the static type of the expression that this Expression represents.

Type

Pobiera typ statyczny wyrażenia reprezentowanego przez to wyrażenie Expression .Gets the static type of the expression that this Expression represents.

(Odziedziczone po Expression)

Metody

Accept(ExpressionVisitor)

Wysyła do określonej metody odwiedzin dla tego typu węzła.Dispatches to the specific visit method for this node type. Na przykład program MethodCallExpression wywołuje VisitMethodCall(MethodCallExpression) .For example, MethodCallExpression calls the VisitMethodCall(MethodCallExpression).

Accept(ExpressionVisitor)

Wysyła do określonej metody odwiedzin dla tego typu węzła.Dispatches to the specific visit method for this node type. Na przykład program MethodCallExpression wywołuje VisitMethodCall(MethodCallExpression) .For example, MethodCallExpression calls the VisitMethodCall(MethodCallExpression).

(Odziedziczone po Expression)
Equals(Object)

Określa, czy dany obiekt jest taki sam, jak bieżący obiekt.Determines whether the specified object is equal to the current object.

(Odziedziczone po Object)
GetHashCode()

Służy jako domyślna funkcja skrótu.Serves as the default hash function.

(Odziedziczone po Object)
GetType()

Pobiera Type bieżące wystąpienie.Gets the Type of the current instance.

(Odziedziczone po Object)
MemberwiseClone()

Tworzy skróconą kopię bieżącego elementu Object .Creates a shallow copy of the current Object.

(Odziedziczone po Object)
Reduce()

Redukuje ten węzeł do prostszego wyrażenia.Reduces this node to a simpler expression. Jeśli redukcja zwróci wartość true, powinna zwracać prawidłowe wyrażenie.If CanReduce returns true, this should return a valid expression. Ta metoda może zwrócić inny węzeł, który musi zostać zmniejszony.This method can return another node which itself must be reduced.

(Odziedziczone po Expression)
ReduceAndCheck()

Redukuje ten węzeł do prostszego wyrażenia.Reduces this node to a simpler expression. Jeśli redukcja zwróci wartość true, powinna zwracać prawidłowe wyrażenie.If CanReduce returns true, this should return a valid expression. Ta metoda może zwrócić inny węzeł, który musi zostać zmniejszony.This method can return another node which itself must be reduced.

(Odziedziczone po Expression)
ReduceExtensions()

Redukuje wyrażenie do znanego typu węzła (który nie jest węzłem rozszerzenia) lub po prostu zwraca wyrażenie, jeśli jest już znanym typem.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.

(Odziedziczone po Expression)
ToString()

Zwraca tekstową reprezentację Expression .Returns a textual representation of the Expression.

(Odziedziczone po Expression)
Update(Expression, IEnumerable<Expression>)

Tworzy nowe wyrażenie, które jest podobne do tego, ale przy użyciu podanych elementów podrzędnych.Creates a new expression that is like this one, but using the supplied children. Jeśli wszystkie elementy podrzędne są takie same, zwróci wyrażenie.If all of the children are the same, it will return this expression.

VisitChildren(ExpressionVisitor)

Redukuje węzeł, a następnie wywołuje delegata odwiedzających na zmniejszonym wyrażeniu.Reduces the node and then calls the visitor delegate on the reduced expression. Metoda zgłasza wyjątek, jeśli węzeł nie jest możliwe do zredukowania.The method throws an exception if the node is not reducible.

(Odziedziczone po Expression)

Jawne implementacje interfejsu

IArgumentProvider.ArgumentCount

Zwraca liczbę argumentów do węzła drzewa wyrażenia.Returns the number of arguments to the expression tree node. Nie należy używać tego elementu członkowskiego.You should not use this member. Jest on tylko publiczny z powodu refaktoryzacji zestawu i jest używany wewnętrznie do optymalizacji wydajności.It is only public due to assembly refactoring, and it is used internally for performance optimizations.

IArgumentProvider.GetArgument(Int32)

Zwraca argument w indeksie, zgłaszający, czy indeks jest poza zakresem.Returns the argument at index, throwing if index is out of bounds. Nie należy używać tego elementu członkowskiego.You should not use this member. Jest on tylko publiczny z powodu refaktoryzacji zestawu i jest używany wewnętrznie do optymalizacji wydajności.It is only public due to assembly refactoring, and it is used internally for performance optimizations.

Dotyczy