Cet article a fait l’objet d’une traduction automatique. Pour afficher l’article en anglais, activez la case d’option Anglais. Vous pouvez également afficher le texte anglais dans une fenêtre contextuelle en faisant glisser le pointeur de la souris sur le texte traduit.
Traduction
Anglais

Expression.Call méthode (Expression, MethodInfo)

 

Date de publication : novembre 2016

Crée un MethodCallExpression qui représente un appel à une méthode qui ne prend aucun argument.

Espace de noms:   System.Linq.Expressions
Assembly:  System.Core (dans System.Core.dll)

public static MethodCallExpression Call(
	Expression instance,
	MethodInfo method
)

Paramètres

instance
Type: System.Linq.Expressions.Expression

Expression qui spécifie l'instance d'un appel de méthode d'instance (passez null pour une méthode static (Shared en Visual Basic)).

method
Type: System.Reflection.MethodInfo

MethodInfo auquel la propriété Method doit être égale.

Valeur de retour

Type: System.Linq.Expressions.MethodCallExpression

MethodCallExpression dont la propriété NodeType est égale à Call et dont les propriétés Object et Method ont les valeurs spécifiées.

Exception Condition
ArgumentNullException

method a la valeur null.

ou

instance est null et method représente une méthode d’instance.

ArgumentException

instance. Type n’est pas assignable au type de déclaration de la méthode représentée par method.

Pour représenter un appel à une static (Shared en Visual Basic) méthode, passez null pour la instance paramètre lorsque vous appelez cette méthode.

Si method représente une méthode d’instance, le Type propriété du instance doit pouvoir être assigné au type de déclaration de la méthode représentée par method.

Le Arguments Propriétés des résultats de MethodCallExpression est vide. Le Type propriété est égale au type de retour de la méthode représentée par method.

L’exemple de code suivant montre comment créer une expression qui appelle une méthode sans arguments.

// Add the following directive to your file:
// using System.Linq.Expressions;  

// This expression represents a call to an instance method without arguments.
Expression callExpr = Expression.Call(
    Expression.Constant("sample string"), typeof(String).GetMethod("ToUpper", new Type[] { }));

// Print out the expression.
Console.WriteLine(callExpr.ToString());

// The following statement first creates an expression tree,
// then compiles it, and then executes it.  
Console.WriteLine(Expression.Lambda<Func<String>>(callExpr).Compile()());

// This code example produces the following output:
//
// "sample string".ToUpper
// SAMPLE STRING

Plateforme Windows universelle
Disponible depuis 8
.NET Framework
Disponible depuis 3.5
Bibliothèque de classes portable
Pris en charge dans : plateformes .NET portables
Silverlight
Disponible depuis 2.0
Silverlight pour Windows Phone
Disponible depuis 7.0
Windows Phone
Disponible depuis 8.1
Retour au début
Afficher: