MethodCallExpression Classe
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
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
- 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. |