MethodCallExpression Classe
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Representa uma chamada para um método estático ou de instância.
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
- Implementações
Exemplos
O exemplo a seguir cria um MethodCallExpression objeto que representa a indexação em uma matriz bidimensional.
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 Callmétodo , ArrayIndexou ArrayIndex factory para criar um MethodCallExpression.
O valor da NodeType propriedade de um MethodCallExpression objeto é Call.
Propriedades
| Nome | Description |
|---|---|
| Arguments |
Obtém uma coleção de expressões que representam argumentos do método chamado. |
| CanReduce |
Indica que o nó pode ser reduzido a um nó mais simples. Se isso retornar true, Reduce() poderá ser chamado para produzir o formulário reduzido. (Herdado de Expression) |
| Method |
Obtém o MethodInfo método a ser chamado. |
| NodeType |
Retorna o tipo de nó deste Expression. |
| NodeType |
Obtém o tipo de nó deste 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. |
| Type |
Obtém o tipo estático da expressão que isso Expression representa. |
| Type |
Obtém o tipo estático da expressão que isso Expression representa. (Herdado de Expression) |
Métodos
| Nome | Description |
|---|---|
| Accept(ExpressionVisitor) |
Envia para o método de visita específico para esse tipo de nó. Por exemplo, MethodCallExpression chama o VisitMethodCall(MethodCallExpression). |
| Equals(Object) |
Determina se o objeto especificado é igual ao objeto atual. (Herdado de Object) |
| GetHashCode() |
Serve como a função de hash padrão. (Herdado de Object) |
| GetType() |
Obtém o Type da instância atual. (Herdado de Object) |
| MemberwiseClone() |
Cria uma cópia superficial do Objectatual. (Herdado de Object) |
| Reduce() |
Reduz esse nó a uma expressão mais simples. Se CanReduce retornar true, isso deverá retornar uma expressão válida. Esse método pode retornar outro nó que deve ser reduzido. (Herdado de Expression) |
| ReduceAndCheck() |
Reduz esse nó a uma expressão mais simples. Se CanReduce retornar true, isso deverá retornar uma expressão válida. Esse método pode retornar outro nó que deve ser reduzido. (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 já for um tipo conhecido. (Herdado de Expression) |
| ToString() |
Retorna uma representação textual do Expression. (Herdado de Expression) |
| Update(Expression, IEnumerable<Expression>) |
Cria uma nova expressão semelhante a esta, mas usando os filhos fornecidos. Se todas as crianças forem iguais, ela retornará essa expressão. |
| VisitChildren(ExpressionVisitor) |
Reduz o nó e, em seguida, chama o delegado visitante na expressão reduzida. O método gerará uma exceção se o nó não for reduível. (Herdado de Expression) |
Implantações explícitas de interface
| Nome | Description |
|---|---|
| IArgumentProvider.ArgumentCount |
Retorna o número de argumentos para o nó da árvore de expressão. Você não deve usar este membro. Ele só é público devido à refatoração de assembly e é usado internamente para otimizações de desempenho. |
| IArgumentProvider.GetArgument(Int32) |
Retorna o argumento no índice, gerando se o índice estiver fora dos limites. Você não deve usar este membro. Ele só é público devido à refatoração de assembly e é usado internamente para otimizações de desempenho. |