MethodCallExpression MethodCallExpression MethodCallExpression MethodCallExpression Class

Definicja

Reprezentuje wywołanie statyczną lub metodą wystąpienia.Represents a call to either static or an instance method.

public ref class MethodCallExpression : System::Linq::Expressions::Expression, System::Linq::Expressions::IArgumentProvider
public class MethodCallExpression : System.Linq.Expressions.Expression, System.Linq.Expressions.IArgumentProvider
type MethodCallExpression = class
    inherit Expression
    interface IArgumentProvider
Public Class MethodCallExpression
Inherits Expression
Implements IArgumentProvider
Dziedziczenie
MethodCallExpressionMethodCallExpressionMethodCallExpressionMethodCallExpression
Implementuje

Przykłady

Poniższy przykład tworzy MethodCallExpression obiekt, który reprezentuje indeksowania w dwuwymiarowej tablicy.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, ArrayIndex, lub ArrayIndex metoda fabryki umożliwiająca utworzenie MethodCallExpression.Use the Call, ArrayIndex, or ArrayIndex factory method to create a MethodCallExpression.

Wartość NodeType właściwość MethodCallExpression obiekt jest Call.The value of the NodeType property of a MethodCallExpression object is Call.

Właściwości

Arguments Arguments Arguments Arguments

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

CanReduce CanReduce CanReduce CanReduce

Wskazuje, że węzeł można zmniejszyć do węzła prostsze.Indicates that the node can be reduced to a simpler node. Jeśli zostanie zwrócona wartość true, można wywołać Reduce() powodować mniejsze formularza.If this returns true, Reduce() can be called to produce the reduced form.

(Inherited from Expression)
Method Method Method Method

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

NodeType NodeType NodeType NodeType

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

Object Object Object Object

Pobiera Expression reprezentujący wystąpienie dla wywołań metod instancji lub wartość null w przypadku wywołania metody statycznej.Gets the Expression that represents the instance for instance method calls or null for static method calls.

Type Type Type Type

Pobiera typu statycznego wyrażenia, które to Expression reprezentuje.Gets the static type of the expression that this Expression represents.

Metody

Accept(ExpressionVisitor) Accept(ExpressionVisitor) Accept(ExpressionVisitor) Accept(ExpressionVisitor)

Wysyła do konkretnej można znaleźć metody dla tego typu węzła.Dispatches to the specific visit method for this node type. Na przykład MethodCallExpression wywołania VisitMethodCall(MethodCallExpression).For example, MethodCallExpression calls the VisitMethodCall(MethodCallExpression).

Equals(Object) Equals(Object) Equals(Object) Equals(Object)

Określa, czy określony obiekt jest równy bieżącemu obiektowi.Determines whether the specified object is equal to the current object.

(Inherited from Object)
GetHashCode() GetHashCode() GetHashCode() GetHashCode()

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

(Inherited from Object)
GetType() GetType() GetType() GetType()

Pobiera Type bieżącego wystąpienia.Gets the Type of the current instance.

(Inherited from Object)
MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

Tworzy płytką kopię bieżącego Object.Creates a shallow copy of the current Object.

(Inherited from Object)
Reduce() Reduce() Reduce() Reduce()

Zmniejsza tego węzła w celu prostszego wyrażenia.Reduces this node to a simpler expression. Jeśli CanReduce zwraca wartość true, powinny zostać zwrócone prawidłowe wyrażenie.If CanReduce returns true, this should return a valid expression. Ta metoda może zwrócić inny węzeł, która sama musi zostać obniżona.This method can return another node which itself must be reduced.

(Inherited from Expression)
ReduceAndCheck() ReduceAndCheck() ReduceAndCheck() ReduceAndCheck()

Zmniejsza tego węzła w celu prostszego wyrażenia.Reduces this node to a simpler expression. Jeśli CanReduce zwraca wartość true, powinny zostać zwrócone prawidłowe wyrażenie.If CanReduce returns true, this should return a valid expression. Ta metoda może zwrócić inny węzeł, która sama musi zostać obniżona.This method can return another node which itself must be reduced.

(Inherited from Expression)
ReduceExtensions() ReduceExtensions() ReduceExtensions() ReduceExtensions()

Zmniejsza wyrażenia na typ węzła znane, (który nie jest węzłem rozszerzenia) lub po prostu zwraca wyrażenie, jeśli nie jest jeszcze znany typ.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.

(Inherited from Expression)
ToString() ToString() ToString() ToString()

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

(Inherited from Expression)
Update(Expression, IEnumerable<Expression>) Update(Expression, IEnumerable<Expression>) Update(Expression, IEnumerable<Expression>) Update(Expression, IEnumerable<Expression>)

Tworzy nowe wyrażenie, podobnie jak w niej, ale za pomocą podane elementy podrzędne.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 tego wyrażenia.If all of the children are the same, it will return this expression.

VisitChildren(ExpressionVisitor) VisitChildren(ExpressionVisitor) VisitChildren(ExpressionVisitor) VisitChildren(ExpressionVisitor)

Zmniejsza węzeł, a następnie wywołuje delegata gości na mniejsze wyrażenia.Reduces the node and then calls the visitor delegate on the reduced expression. Metoda zgłasza wyjątek, jeśli węzeł nie jest obniżaniu.The method throws an exception if the node is not reducible.

(Inherited from Expression)

Jawne implementacje interfejsu

IArgumentProvider.ArgumentCount IArgumentProvider.ArgumentCount IArgumentProvider.ArgumentCount IArgumentProvider.ArgumentCount

Zwraca liczbę argumentów do węzła drzewa wyrażeń.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. Nie jest tylko publiczny z powodu zestawu refaktoryzacji i jest używana 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) IArgumentProvider.GetArgument(Int32) IArgumentProvider.GetArgument(Int32) IArgumentProvider.GetArgument(Int32)

Zwraca argument w indeksie, zostanie zgłoszony, jeśli 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. Nie jest tylko publiczny z powodu zestawu refaktoryzacji i jest używana wewnętrznie do optymalizacji wydajności.It is only public due to assembly refactoring, and it is used internally for performance optimizations.

Dotyczy