Partager via


MethodCallExpression Classe

Définition

Représente un appel à une méthode d'instance ou statique.

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
Héritage
MethodCallExpression
Implémente

Exemples

L’exemple suivant crée un MethodCallExpression objet qui représente l’indexation dans un tableau à deux dimensions.

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)

Remarques

Utilisez la Callméthode de fabrique , ArrayIndexou ArrayIndex pour créer un MethodCallExpression.

La valeur de la NodeType propriété d’un MethodCallExpression objet est Call.

Propriétés

Arguments

Obtient une collection d’expressions qui représentent des arguments de la méthode appelée.

CanReduce

Indique que le nœud peut être réduit à un nœud plus simple. Si la valeur retournée est true, Reduce() peut être appelé pour produire la forme réduite.

(Hérité de Expression)
Method

Obtient le MethodInfo pour la méthode à appeler.

NodeType

Retourne le type de nœud de cette Expression.

NodeType

Obtient le type de nœud de ce Expression.

(Hérité de Expression)
Object

Obtient l’élément Expression qui représente l’instance pour les appels de méthode d’instance ou null pour les appels de méthode statique.

Type

Obtient le type statique de l'expression que ce Expression représente.

Type

Obtient le type statique de l'expression que ce Expression représente.

(Hérité de Expression)

Méthodes

Accept(ExpressionVisitor)

Distribue à la méthode de visite spécifique à ce type de nœud. Par exemple, MethodCallExpression appelle VisitMethodCall(MethodCallExpression).

Accept(ExpressionVisitor)

Distribue à la méthode de visite spécifique à ce type de nœud. Par exemple, MethodCallExpression appelle VisitMethodCall(MethodCallExpression).

(Hérité de Expression)
Equals(Object)

Détermine si l'objet spécifié est égal à l'objet actuel.

(Hérité de Object)
GetHashCode()

Fait office de fonction de hachage par défaut.

(Hérité de Object)
GetType()

Obtient le Type de l'instance actuelle.

(Hérité de Object)
MemberwiseClone()

Crée une copie superficielle du Object actuel.

(Hérité de Object)
Reduce()

Réduit le nœud en une expression plus simple. Si CanReduce retourne la valeur true, cela doit retourner une expression valide. Cette méthode peut retourner un autre nœud qui doit lui-même être réduit.

(Hérité de Expression)
ReduceAndCheck()

Réduit le nœud en une expression plus simple. Si CanReduce retourne la valeur true, cela doit retourner une expression valide. Cette méthode peut retourner un autre nœud qui doit lui-même être réduit.

(Hérité de Expression)
ReduceExtensions()

Réduit l'expression à un type de nœud connu (qui n'est pas un nœud Extension) ou retourne simplement l'expression s'il s'agit d'un type déjà connu.

(Hérité de Expression)
ToString()

Retourne une représentation textuelle de Expression.

(Hérité de Expression)
Update(Expression, IEnumerable<Expression>)

Crée une expression qui est semblable à celle-ci, mais en utilisant les enfants fournis. Si tous les enfants sont identiques, cette expression est retournée.

VisitChildren(ExpressionVisitor)

Réduit le nœud puis appelle le délégué visiteur sur l'expression réduite. La méthode lève une exception si le nœud n'est pas réductible.

(Hérité de Expression)

Implémentations d’interfaces explicites

IArgumentProvider.ArgumentCount

Retourne le nombre d’arguments du nœud d’arborescence d’expression. Vous ne devez pas utiliser ce membre. Il est public uniquement en raison de la refactorisation de l’assembly, et il est utilisé en interne pour optimiser les performances.

IArgumentProvider.GetArgument(Int32)

Retourne l’argument à l’index, en levant une exception si l’index est hors limites. Vous ne devez pas utiliser ce membre. Il est public uniquement en raison de la refactorisation de l’assembly, et il est utilisé en interne pour optimiser les performances.

S’applique à