MethodCallExpression Classe

Definição

Representa uma chamada para um método estático ou uma instância.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
Herança
MethodCallExpression
Implementações

Exemplos

O exemplo a seguir cria um MethodCallExpression objeto que representa a indexação em uma matriz bidimensional.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)

Comentários

Use o Call ArrayIndex método de fábrica, ou ArrayIndex para criar um MethodCallExpression .Use the Call, ArrayIndex, or ArrayIndex factory method to create a MethodCallExpression.

O valor da NodeType propriedade de um MethodCallExpression objeto é Call .The value of the NodeType property of a MethodCallExpression object is Call.

Propriedades

Arguments

Obtém uma coleção de expressões que representam os argumentos do método chamado.Gets a collection of expressions that represent arguments of the called method.

CanReduce

Indica que o nó pode ser reduzido a um nó mais simples.Indicates that the node can be reduced to a simpler node. Se isso retornar verdadeiro, Reduce() poderá ser chamado para produzir a forma reduzida.If this returns true, Reduce() can be called to produce the reduced form.

(Herdado de Expression)
Method

Obtém o MethodInfo para o método a ser chamado.Gets the MethodInfo for the method to be called.

NodeType

Retorna o tipo de nó deste Expression.Returns the node type of this Expression.

NodeType

Obtém o tipo de nó deste Expression.Gets the node type of this Expression.

(Herdado de Expression)
Object

Obtém o Expression que representa a instância para chamadas de método de instância ou nulo para chamadas de método estático.Gets the Expression that represents the instance for instance method calls or null for static method calls.

Type

Obtém o tipo estático da expressão que esse Expression representa.Gets the static type of the expression that this Expression represents.

Type

Obtém o tipo estático da expressão que esse Expression representa.Gets the static type of the expression that this Expression represents.

(Herdado de Expression)

Métodos

Accept(ExpressionVisitor)

Expede o método específico de visita para esse tipo de nó.Dispatches to the specific visit method for this node type. Por exemplo, MethodCallExpression chama o VisitMethodCall(MethodCallExpression).For example, MethodCallExpression calls the VisitMethodCall(MethodCallExpression).

Accept(ExpressionVisitor)

Expede o método específico de visita para esse tipo de nó.Dispatches to the specific visit method for this node type. Por exemplo, MethodCallExpression chama o VisitMethodCall(MethodCallExpression).For example, MethodCallExpression calls the VisitMethodCall(MethodCallExpression).

(Herdado de Expression)
Equals(Object)

Determina se o objeto especificado é igual ao objeto atual.Determines whether the specified object is equal to the current object.

(Herdado de Object)
GetHashCode()

Serve como a função de hash padrão.Serves as the default hash function.

(Herdado de Object)
GetType()

Obtém o Type da instância atual.Gets the Type of the current instance.

(Herdado de Object)
MemberwiseClone()

Cria uma cópia superficial do Object atual.Creates a shallow copy of the current Object.

(Herdado de Object)
Reduce()

Reduz esse nó a uma expressão mais simples.Reduces this node to a simpler expression. Se CanReduce retornar true, ele deverá retornar uma expressão válida.If CanReduce returns true, this should return a valid expression. Esse método pode retornar outro nó que também precisa ser reduzido.This method can return another node which itself must be reduced.

(Herdado de Expression)
ReduceAndCheck()

Reduz esse nó a uma expressão mais simples.Reduces this node to a simpler expression. Se CanReduce retornar true, ele deverá retornar uma expressão válida.If CanReduce returns true, this should return a valid expression. Esse método pode retornar outro nó que também precisa ser reduzido.This method can return another node which itself must be reduced.

(Herdado de Expression)
ReduceExtensions()

Reduz a expressão a um tipo de nó conhecido (que não é um nó de extensão) ou apenas retorna a expressão se ele já é um tipo conhecido.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.

(Herdado de Expression)
ToString()

Retorna uma representação textual de Expression.Returns a textual representation of the Expression.

(Herdado de Expression)
Update(Expression, IEnumerable<Expression>)

Cria uma nova expressão que é parecida com esta, mas usando os filhos fornecidos.Creates a new expression that is like this one, but using the supplied children. Se todos os filhos forem os mesmos, ela retornará esta expressão.If all of the children are the same, it will return this expression.

VisitChildren(ExpressionVisitor)

Reduz o nó e, em seguida, chama o delegado visitante na expressão reduzida.Reduces the node and then calls the visitor delegate on the reduced expression. O método gera uma exceção se o nó não é reduzível.The method throws an exception if the node is not reducible.

(Herdado de Expression)

Implantações explícitas de interface

IArgumentProvider.ArgumentCount

Retorna o número de argumentos para o nó de árvore de expressão.Returns the number of arguments to the expression tree node. Você não deve usar esse membro.You should not use this member. Ele só é público devido a refatoração de assembly e é usado internamente para otimizações de desempenho.It is only public due to assembly refactoring, and it is used internally for performance optimizations.

IArgumentProvider.GetArgument(Int32)

Retorna o argumento no índice, lançando se o índice estiver fora dos limites.Returns the argument at index, throwing if index is out of bounds. Você não deve usar esse membro.You should not use this member. Ele só é público devido a refatoração de assembly e é usado internamente para otimizações de desempenho.It is only public due to assembly refactoring, and it is used internally for performance optimizations.

Aplica-se a