Expression.Call Méthode

Définition

Surcharges

Call(MethodInfo, Expression, Expression, Expression, Expression, Expression)

Crée un MethodCallExpression qui représente un appel à une méthode statique prenant cinq arguments.Creates a MethodCallExpression that represents a call to a static method that takes five arguments.

Call(Expression, MethodInfo, Expression, Expression, Expression)

Crée un MethodCallExpression qui représente un appel à une méthode qui prend trois arguments.Creates a MethodCallExpression that represents a call to a method that takes three arguments.

Call(Type, String, Type[], Expression[])

Crée un MethodCallExpression qui représente un appel à une méthode static (Shared en Visual Basic) en appelant la méthode de fabrique appropriée.Creates a MethodCallExpression that represents a call to a static (Shared in Visual Basic) method by calling the appropriate factory method.

Call(MethodInfo, Expression, Expression, Expression)

Crée un MethodCallExpression qui représente un appel à une méthode statique prenant trois arguments.Creates a MethodCallExpression that represents a call to a static method that takes three arguments.

Call(Expression, String, Type[], Expression[])

Crée un MethodCallExpression qui représente un appel à une méthode en appelant la méthode de fabrique appropriée.Creates a MethodCallExpression that represents a call to a method by calling the appropriate factory method.

Call(Expression, MethodInfo, Expression, Expression)

Crée un MethodCallExpression qui représente un appel à une méthode qui prend deux arguments.Creates a MethodCallExpression that represents a call to a method that takes two arguments.

Call(MethodInfo, Expression, Expression, Expression, Expression)

Crée un MethodCallExpression qui représente un appel à une méthode statique prenant quatre arguments.Creates a MethodCallExpression that represents a call to a static method that takes four arguments.

Call(Expression, MethodInfo, Expression[])

Crée un MethodCallExpression qui représente un appel à une méthode qui prend des arguments.Creates a MethodCallExpression that represents a call to a method that takes arguments.

Call(Expression, MethodInfo, IEnumerable<Expression>)

Crée un MethodCallExpression qui représente un appel à une méthode qui prend des arguments.Creates a MethodCallExpression that represents a call to a method that takes arguments.

Call(MethodInfo, Expression[])

Crée un MethodCallExpression qui représente un appel à une méthode static (Shared en Visual Basic) comportant des arguments.Creates a MethodCallExpression that represents a call to a static (Shared in Visual Basic) method that has arguments.

Call(MethodInfo, Expression)

Crée un MethodCallExpression qui représente un appel à une méthode static (Shared en Visual Basic) qui prend un seul argument.Creates a MethodCallExpression that represents a call to a static (Shared in Visual Basic) method that takes one argument.

Call(MethodInfo, IEnumerable<Expression>)

Crée un MethodCallExpression qui représente un appel à une méthode statique (méthode partagée en Visual Basic).Creates a MethodCallExpression that represents a call to a static (Shared in Visual Basic) method.

Call(Expression, MethodInfo)

Crée un MethodCallExpression qui représente un appel à une méthode qui ne prend aucun argument.Creates a MethodCallExpression that represents a call to a method that takes no arguments.

Call(MethodInfo, Expression, Expression)

Crée un MethodCallExpression qui représente un appel à une méthode statique prenant deux arguments.Creates a MethodCallExpression that represents a call to a static method that takes two arguments.

Call(MethodInfo, Expression, Expression, Expression, Expression, Expression)

Crée un MethodCallExpression qui représente un appel à une méthode statique prenant cinq arguments.Creates a MethodCallExpression that represents a call to a static method that takes five arguments.

public:
 static System::Linq::Expressions::MethodCallExpression ^ Call(System::Reflection::MethodInfo ^ method, System::Linq::Expressions::Expression ^ arg0, System::Linq::Expressions::Expression ^ arg1, System::Linq::Expressions::Expression ^ arg2, System::Linq::Expressions::Expression ^ arg3, System::Linq::Expressions::Expression ^ arg4);
public static System.Linq.Expressions.MethodCallExpression Call (System.Reflection.MethodInfo method, System.Linq.Expressions.Expression arg0, System.Linq.Expressions.Expression arg1, System.Linq.Expressions.Expression arg2, System.Linq.Expressions.Expression arg3, System.Linq.Expressions.Expression arg4);
static member Call : System.Reflection.MethodInfo * System.Linq.Expressions.Expression * System.Linq.Expressions.Expression * System.Linq.Expressions.Expression * System.Linq.Expressions.Expression * System.Linq.Expressions.Expression -> System.Linq.Expressions.MethodCallExpression
Public Shared Function Call (method As MethodInfo, arg0 As Expression, arg1 As Expression, arg2 As Expression, arg3 As Expression, arg4 As Expression) As MethodCallExpression

Paramètres

method
MethodInfo

MethodInfo auquel la propriété Method doit être égale.A MethodInfo to set the Method property equal to.

arg0
Expression

Expression qui représente le premier argument.The Expression that represents the first argument.

arg1
Expression

Expression qui représente le deuxième argument.The Expression that represents the second argument.

arg2
Expression

Expression qui représente le troisième argument.The Expression that represents the third argument.

arg3
Expression

Expression qui représente le quatrième argument.The Expression that represents the fourth argument.

arg4
Expression

Expression qui représente le premier argument.The Expression that represents the fifth argument.

Retours

MethodCallExpression dont la propriété NodeType est égale à Call et dont les propriétés Object et Method ont les valeurs spécifiées.A MethodCallExpression that has the NodeType property equal to Call and the Object and Method properties set to the specified values.

Exceptions

method a la valeur null.method is null.

Call(Expression, MethodInfo, Expression, Expression, Expression)

Crée un MethodCallExpression qui représente un appel à une méthode qui prend trois arguments.Creates a MethodCallExpression that represents a call to a method that takes three arguments.

public:
 static System::Linq::Expressions::MethodCallExpression ^ Call(System::Linq::Expressions::Expression ^ instance, System::Reflection::MethodInfo ^ method, System::Linq::Expressions::Expression ^ arg0, System::Linq::Expressions::Expression ^ arg1, System::Linq::Expressions::Expression ^ arg2);
public static System.Linq.Expressions.MethodCallExpression Call (System.Linq.Expressions.Expression instance, System.Reflection.MethodInfo method, System.Linq.Expressions.Expression arg0, System.Linq.Expressions.Expression arg1, System.Linq.Expressions.Expression arg2);
static member Call : System.Linq.Expressions.Expression * System.Reflection.MethodInfo * System.Linq.Expressions.Expression * System.Linq.Expressions.Expression * System.Linq.Expressions.Expression -> System.Linq.Expressions.MethodCallExpression
Public Shared Function Call (instance As Expression, method As MethodInfo, arg0 As Expression, arg1 As Expression, arg2 As Expression) As MethodCallExpression

Paramètres

instance
Expression

Expression qui spécifie l'instance d'un appel d'instance.An Expression that specifies the instance for an instance call. (Passez la valeur Null pour une méthode statique (méthode partagée en Visual Basic.)(pass null for a static (Shared in Visual Basic) method).

method
MethodInfo

MethodInfo qui représente la méthode cible.The MethodInfo that represents the target method.

arg0
Expression

Expression qui représente le premier argument.The Expression that represents the first argument.

arg1
Expression

Expression qui représente le deuxième argument.The Expression that represents the second argument.

arg2
Expression

Expression qui représente le troisième argument.The Expression that represents the third argument.

Retours

MethodCallExpression dont la propriété NodeType est égale à Call et dont les propriétés Object et Method ont les valeurs spécifiées.A MethodCallExpression that has the NodeType property equal to Call and the Object and Method properties set to the specified values.

Call(Type, String, Type[], Expression[])

Crée un MethodCallExpression qui représente un appel à une méthode static (Shared en Visual Basic) en appelant la méthode de fabrique appropriée.Creates a MethodCallExpression that represents a call to a static (Shared in Visual Basic) method by calling the appropriate factory method.

public:
 static System::Linq::Expressions::MethodCallExpression ^ Call(Type ^ type, System::String ^ methodName, cli::array <Type ^> ^ typeArguments, ... cli::array <System::Linq::Expressions::Expression ^> ^ arguments);
public static System.Linq.Expressions.MethodCallExpression Call (Type type, string methodName, Type[] typeArguments, params System.Linq.Expressions.Expression[] arguments);
static member Call : Type * string * Type[] * System.Linq.Expressions.Expression[] -> System.Linq.Expressions.MethodCallExpression

Paramètres

type
Type

Type contenant la méthode static (Shared dans Visual Basic) spécifiée.The type that contains the specified static (Shared in Visual Basic) method.

methodName
String

Nom de la méthode.The name of the method.

typeArguments
Type[]

Tableau d'objets Type spécifiant les paramètres de type de la méthode générique.An array of Type objects that specify the type parameters of the generic method. Cet argument doit être null lorsque methodName spécifie une méthode non générique.This argument should be null when methodName specifies a non-generic method.

arguments
Expression[]

Tableau d’objets Expression représentant les arguments de la méthode.An array of Expression objects that represent the arguments to the method.

Retours

MethodCallExpression dont la propriété NodeType est égale à Call, dont la propriété Method a pour valeur MethodInfo qui représente la méthode static (Shared en Visual Basic) spécifiée, et dont la propriété Arguments a pour valeur les arguments spécifiés.A MethodCallExpression that has the NodeType property equal to Call, the Method property set to the MethodInfo that represents the specified static (Shared in Visual Basic) method, and the Arguments property set to the specified arguments.

Exceptions

type ou methodName a la valeur null.type or methodName is null.

Aucune méthode appelée methodName, dont les paramètres de type correspondent à typeArguments et dont les types de paramètres correspondent à arguments n'est trouvée dans type ou ses types de base.No method whose name is methodName, whose type parameters match typeArguments, and whose parameter types match arguments is found in type or its base types.

- ou --or- Plusieurs méthodes appelées methodName, dont les paramètres de type correspondent à typeArguments et dont les types de paramètres correspondent à arguments sont trouvées dans type ou ses types de base.More than one method whose name is methodName, whose type parameters match typeArguments, and whose parameter types match arguments is found in type or its base types.

Remarques

La Type propriété du résultant MethodCallExpression est égale au type de retour de la méthode dénotée par methodName.The Type property of the resulting MethodCallExpression is equal to the return type of the method denoted by methodName. La propriété Object est null.The Object property is null.

Call(MethodInfo, Expression, Expression, Expression)

Crée un MethodCallExpression qui représente un appel à une méthode statique prenant trois arguments.Creates a MethodCallExpression that represents a call to a static method that takes three arguments.

public:
 static System::Linq::Expressions::MethodCallExpression ^ Call(System::Reflection::MethodInfo ^ method, System::Linq::Expressions::Expression ^ arg0, System::Linq::Expressions::Expression ^ arg1, System::Linq::Expressions::Expression ^ arg2);
public static System.Linq.Expressions.MethodCallExpression Call (System.Reflection.MethodInfo method, System.Linq.Expressions.Expression arg0, System.Linq.Expressions.Expression arg1, System.Linq.Expressions.Expression arg2);
static member Call : System.Reflection.MethodInfo * System.Linq.Expressions.Expression * System.Linq.Expressions.Expression * System.Linq.Expressions.Expression -> System.Linq.Expressions.MethodCallExpression
Public Shared Function Call (method As MethodInfo, arg0 As Expression, arg1 As Expression, arg2 As Expression) As MethodCallExpression

Paramètres

method
MethodInfo

MethodInfo auquel la propriété Method doit être égale.A MethodInfo to set the Method property equal to.

arg0
Expression

Expression qui représente le premier argument.The Expression that represents the first argument.

arg1
Expression

Expression qui représente le deuxième argument.The Expression that represents the second argument.

arg2
Expression

Expression qui représente le troisième argument.The Expression that represents the third argument.

Retours

MethodCallExpression dont la propriété NodeType est égale à Call et dont les propriétés Object et Method ont les valeurs spécifiées.A MethodCallExpression that has the NodeType property equal to Call and the Object and Method properties set to the specified values.

Exceptions

method a la valeur null.method is null.

Call(Expression, String, Type[], Expression[])

Crée un MethodCallExpression qui représente un appel à une méthode en appelant la méthode de fabrique appropriée.Creates a MethodCallExpression that represents a call to a method by calling the appropriate factory method.

public:
 static System::Linq::Expressions::MethodCallExpression ^ Call(System::Linq::Expressions::Expression ^ instance, System::String ^ methodName, cli::array <Type ^> ^ typeArguments, ... cli::array <System::Linq::Expressions::Expression ^> ^ arguments);
public static System.Linq.Expressions.MethodCallExpression Call (System.Linq.Expressions.Expression instance, string methodName, Type[] typeArguments, params System.Linq.Expressions.Expression[] arguments);
static member Call : System.Linq.Expressions.Expression * string * Type[] * System.Linq.Expressions.Expression[] -> System.Linq.Expressions.MethodCallExpression
Public Shared Function Call (instance As Expression, methodName As String, typeArguments As Type(), ParamArray arguments As Expression()) As MethodCallExpression

Paramètres

instance
Expression

Expression dont la valeur de propriété Type fera l'objet d'une recherche de méthode spécifique.An Expression whose Type property value will be searched for a specific method.

methodName
String

Nom de la méthode.The name of the method.

typeArguments
Type[]

Tableau d'objets Type spécifiant les paramètres de type de la méthode générique.An array of Type objects that specify the type parameters of the generic method. Cet argument doit être null lorsque methodName spécifie une méthode non générique.This argument should be null when methodName specifies a non-generic method.

arguments
Expression[]

Tableau d’objets Expression représentant les arguments de la méthode.An array of Expression objects that represents the arguments to the method.

Retours

MethodCallExpression dont la propriété NodeType est égale à Call, dont la propriété Object est égale à instance, dont Method a pour valeur MethodInfo qui représente la méthode d'instance spécifiée, et dont Arguments a pour valeur les arguments spécifiés.A MethodCallExpression that has the NodeType property equal to Call, the Object property equal to instance, Method set to the MethodInfo that represents the specified instance method, and Arguments set to the specified arguments.

Exceptions

instance ou methodName est null.instance or methodName is null.

Aucune méthode appelée methodName, dont les paramètres de type correspondent à typeArguments et dont les types de paramètres correspondent à arguments n'est trouvée dans instance.Type ou ses types de base.No method whose name is methodName, whose type parameters match typeArguments, and whose parameter types match arguments is found in instance.Type or its base types.

ou-or- Plusieurs méthodes appelées methodName, dont les paramètres de type correspondent à typeArguments et dont les types de paramètres correspondent à arguments sont trouvées dans instance.Type ou ses types de base.More than one method whose name is methodName, whose type parameters match typeArguments, and whose parameter types match arguments is found in instance.Type or its base types.

Remarques

La Type propriété du résultant MethodCallExpression est égale au type de retour de la méthode dénotée par methodName.The Type property of the resulting MethodCallExpression is equal to the return type of the method denoted by methodName.

Call(Expression, MethodInfo, Expression, Expression)

Crée un MethodCallExpression qui représente un appel à une méthode qui prend deux arguments.Creates a MethodCallExpression that represents a call to a method that takes two arguments.

public:
 static System::Linq::Expressions::MethodCallExpression ^ Call(System::Linq::Expressions::Expression ^ instance, System::Reflection::MethodInfo ^ method, System::Linq::Expressions::Expression ^ arg0, System::Linq::Expressions::Expression ^ arg1);
public static System.Linq.Expressions.MethodCallExpression Call (System.Linq.Expressions.Expression instance, System.Reflection.MethodInfo method, System.Linq.Expressions.Expression arg0, System.Linq.Expressions.Expression arg1);
static member Call : System.Linq.Expressions.Expression * System.Reflection.MethodInfo * System.Linq.Expressions.Expression * System.Linq.Expressions.Expression -> System.Linq.Expressions.MethodCallExpression
Public Shared Function Call (instance As Expression, method As MethodInfo, arg0 As Expression, arg1 As Expression) As MethodCallExpression

Paramètres

instance
Expression

Expression qui spécifie l'instance d'un appel d'instance.An Expression that specifies the instance for an instance call. (Passez la valeur Null pour une méthode statique (méthode partagée en Visual Basic.)(pass null for a static (Shared in Visual Basic) method).

method
MethodInfo

MethodInfo qui représente la méthode cible.The MethodInfo that represents the target method.

arg0
Expression

Expression qui représente le premier argument.The Expression that represents the first argument.

arg1
Expression

Expression qui représente le deuxième argument.The Expression that represents the second argument.

Retours

MethodCallExpression dont la propriété NodeType est égale à Call et dont les propriétés Object et Method ont les valeurs spécifiées.A MethodCallExpression that has the NodeType property equal to Call and the Object and Method properties set to the specified values.

Exemples

L’exemple de code suivant montre comment créer une expression qui appelle une méthode d’instance qui a deux arguments.The following code example shows how to create an expression that calls an instance method that has two arguments.

// Add the following directive to your file:
// using System.Linq.Expressions;  
public class SampleClass
{
    public int AddIntegers(int arg1, int arg2)
    {
        return arg1 + arg2;
    }
}

static public void TestCall()
{
    // This expression represents a call to an instance method that has two arguments.
    // The first argument is an expression that creates a new object of the specified type.
    Expression callExpr = Expression.Call(
        Expression.New(typeof(SampleClass)),
        typeof(SampleClass).GetMethod("AddIntegers", new Type[] { typeof(int), typeof(int) }),
        Expression.Constant(1),
        Expression.Constant(2)
        );

    // 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<int>>(callExpr).Compile()());

    // This code example produces the following output:
    //
    // new SampleClass().AddIntegers(1, 2)
    // 3
}
' Add the following directive to your file:
' Imports System.Linq.Expressions  

Public Class SampleClass
    Public Function AddIntegers(ByVal arg1 As Integer, ByVal arg2 As Integer) As Integer
        Return (arg1 + arg2)
    End Function
End Class
Public Shared Sub TestCall()
    ' This expression represents a call to an instance method that has two arguments.
    ' The first argument is an expression that creates a new object of the specified type.
    Dim callExpr As Expression = Expression.Call(
        Expression.[New](GetType(SampleClass)),
        GetType(SampleClass).GetMethod("AddIntegers", New Type() {GetType(Integer), GetType(Integer)}),
        Expression.Constant(1),
        Expression.Constant(2)
      )

    ' Print 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(Of Func(Of Integer))(callExpr).Compile()())
End Sub

' This code example produces the following output:
'
' new SampleClass().AddIntegers(1, 2)
' 3

Call(MethodInfo, Expression, Expression, Expression, Expression)

Crée un MethodCallExpression qui représente un appel à une méthode statique prenant quatre arguments.Creates a MethodCallExpression that represents a call to a static method that takes four arguments.

public:
 static System::Linq::Expressions::MethodCallExpression ^ Call(System::Reflection::MethodInfo ^ method, System::Linq::Expressions::Expression ^ arg0, System::Linq::Expressions::Expression ^ arg1, System::Linq::Expressions::Expression ^ arg2, System::Linq::Expressions::Expression ^ arg3);
public static System.Linq.Expressions.MethodCallExpression Call (System.Reflection.MethodInfo method, System.Linq.Expressions.Expression arg0, System.Linq.Expressions.Expression arg1, System.Linq.Expressions.Expression arg2, System.Linq.Expressions.Expression arg3);
static member Call : System.Reflection.MethodInfo * System.Linq.Expressions.Expression * System.Linq.Expressions.Expression * System.Linq.Expressions.Expression * System.Linq.Expressions.Expression -> System.Linq.Expressions.MethodCallExpression
Public Shared Function Call (method As MethodInfo, arg0 As Expression, arg1 As Expression, arg2 As Expression, arg3 As Expression) As MethodCallExpression

Paramètres

method
MethodInfo

MethodInfo auquel la propriété Method doit être égale.A MethodInfo to set the Method property equal to.

arg0
Expression

Expression qui représente le premier argument.The Expression that represents the first argument.

arg1
Expression

Expression qui représente le deuxième argument.The Expression that represents the second argument.

arg2
Expression

Expression qui représente le troisième argument.The Expression that represents the third argument.

arg3
Expression

Expression qui représente le quatrième argument.The Expression that represents the fourth argument.

Retours

MethodCallExpression dont la propriété NodeType est égale à Call et dont les propriétés Object et Method ont les valeurs spécifiées.A MethodCallExpression that has the NodeType property equal to Call and the Object and Method properties set to the specified values.

Exceptions

method a la valeur null.method is null.

Call(Expression, MethodInfo, Expression[])

Crée un MethodCallExpression qui représente un appel à une méthode qui prend des arguments.Creates a MethodCallExpression that represents a call to a method that takes arguments.

public:
 static System::Linq::Expressions::MethodCallExpression ^ Call(System::Linq::Expressions::Expression ^ instance, System::Reflection::MethodInfo ^ method, ... cli::array <System::Linq::Expressions::Expression ^> ^ arguments);
public static System.Linq.Expressions.MethodCallExpression Call (System.Linq.Expressions.Expression instance, System.Reflection.MethodInfo method, params System.Linq.Expressions.Expression[] arguments);
static member Call : System.Linq.Expressions.Expression * System.Reflection.MethodInfo * System.Linq.Expressions.Expression[] -> System.Linq.Expressions.MethodCallExpression
Public Shared Function Call (instance As Expression, method As MethodInfo, ParamArray arguments As Expression()) As MethodCallExpression

Paramètres

instance
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)).An Expression that specifies the instance for an instance method call (pass null for a static (Shared in Visual Basic) method).

method
MethodInfo

MethodInfo auquel la propriété Method doit être égale.A MethodInfo to set the Method property equal to.

arguments
Expression[]

Tableau d'objets Expression à utiliser pour remplir la collection Arguments.An array of Expression objects to use to populate the Arguments collection.

Retours

MethodCallExpression dont la propriété NodeType est égale à Call et dont les propriétés Object, Method et Arguments ont les valeurs spécifiées.A MethodCallExpression that has the NodeType property equal to Call and the Object, Method, and Arguments properties set to the specified values.

Exceptions

method a la valeur null.method is null.

- ou --or- instance est null et method représente une méthode d’instance.instance is null and method represents an instance method.

- ou --or- arguments n’est pas null et un ou plusieurs de ses éléments sont null.arguments is not null and one or more of its elements is null.

instance. Le type ne peut pas être affecté au type de la méthode représentée par method.instance.Type is not assignable to the declaring type of the method represented by method.

ou-or- Le nombre d’éléments dans arguments ne correspond pas au nombre de paramètres pour la méthode représentée par method.The number of elements in arguments does not equal the number of parameters for the method represented by method.

- ou --or- Un ou plusieurs des éléments des arguments n’est pas assignable au paramètre correspondant pour la méthode représentée par method.One or more of the elements of arguments is not assignable to the corresponding parameter for the method represented by method.

Remarques

Pour représenter un appel à une static méthodeShared (dans Visual Basic null ), transmettez pour le instance paramètre lorsque vous appelez cette méthode, ou appelez Call à la place.To represent a call to a static (Shared in Visual Basic) method, pass in null for the instance parameter when you call this method, or call Call instead.

Si method représente une méthode d’instance, Type la propriété instance de doit pouvoir être assignée au type déclarant de la méthode représentée methodpar.If method represents an instance method, the Type property of instance must be assignable to the declaring type of the method represented by method.

Si arguments n’a nullpas la valeur, il doit avoir le même nombre d’éléments que le nombre de paramètres pour la methodméthode représentée par.If arguments is not null, it must have the same number of elements as the number of parameters for the method represented by method. Chaque élément dans arguments ne doit pas null être et doit pouvoir être assigné au paramètre correspondant de method, éventuellement après l’attribution d’un guillemet.Each element in arguments must not be null and must be assignable to the corresponding parameter of method, possibly after quoting.

Notes

Un élément est mis entre guillemets uniquement si le paramètre de méthode correspondant Expressionest de type.An element will be quoted only if the corresponding method parameter is of type Expression. Quote signifie que l’élément est encapsulé dans Quote un nœud.Quoting means the element is wrapped in a Quote node. Le nœud résultant est un UnaryExpression dont Operand la propriété est l’élément argumentsde.The resulting node is a UnaryExpression whose Operand property is the element of arguments.

La Arguments propriété du résultant MethodCallExpression est vide si arguments est null.The Arguments property of the resulting MethodCallExpression is empty if arguments is null. Dans le cas contraire, elle contient les argumentsmêmes éléments que, dont certains peuvent être placés entre guillemets.Otherwise, it contains the same elements as arguments, some of which may be quoted.

La Type propriété du résultant MethodCallExpression est égale au type de retour de la méthode représentée par method.The Type property of the resulting MethodCallExpression is equal to the return type of the method represented by method.

Call(Expression, MethodInfo, IEnumerable<Expression>)

Crée un MethodCallExpression qui représente un appel à une méthode qui prend des arguments.Creates a MethodCallExpression that represents a call to a method that takes arguments.

public:
 static System::Linq::Expressions::MethodCallExpression ^ Call(System::Linq::Expressions::Expression ^ instance, System::Reflection::MethodInfo ^ method, System::Collections::Generic::IEnumerable<System::Linq::Expressions::Expression ^> ^ arguments);
public static System.Linq.Expressions.MethodCallExpression Call (System.Linq.Expressions.Expression instance, System.Reflection.MethodInfo method, System.Collections.Generic.IEnumerable<System.Linq.Expressions.Expression> arguments);
static member Call : System.Linq.Expressions.Expression * System.Reflection.MethodInfo * seq<System.Linq.Expressions.Expression> -> System.Linq.Expressions.MethodCallExpression
Public Shared Function Call (instance As Expression, method As MethodInfo, arguments As IEnumerable(Of Expression)) As MethodCallExpression

Paramètres

instance
Expression

Expression auquel la propriété Object doit être égale (passez null pour une méthode static (Shared en Visual Basic)).An Expression to set the Object property equal to (pass null for a static (Shared in Visual Basic) method).

method
MethodInfo

MethodInfo auquel la propriété Method doit être égale.A MethodInfo to set the Method property equal to.

arguments
IEnumerable<Expression>

IEnumerable<T> qui contient des objets Expression à utiliser pour remplir la collection Arguments.An IEnumerable<T> that contains Expression objects to use to populate the Arguments collection.

Retours

MethodCallExpression dont la propriété NodeType est égale à Call et dont les propriétés Object, Method et Arguments ont les valeurs spécifiées.A MethodCallExpression that has the NodeType property equal to Call and the Object, Method, and Arguments properties set to the specified values.

Exceptions

method est null.method is null.

- ou --or- instance est null et method représente une méthode d’instance.instance is null and method represents an instance method.

instance. Le type ne peut pas être affecté au type de la méthode représentée par method.instance.Type is not assignable to the declaring type of the method represented by method.

- ou --or- Le nombre d’éléments dans arguments ne correspond pas au nombre de paramètres pour la méthode représentée par method.The number of elements in arguments does not equal the number of parameters for the method represented by method.

ou-or- Un ou plusieurs des éléments des arguments n’est pas assignable au paramètre correspondant pour la méthode représentée par method.One or more of the elements of arguments is not assignable to the corresponding parameter for the method represented by method.

Remarques

Pour représenter un appel à une static méthodeShared (dans Visual Basic null ), transmettez pour le instance paramètre lorsque vous appelez cette méthode, ou appelez Call à la place.To represent a call to a static (Shared in Visual Basic) method, pass in null for the instance parameter when you call this method, or call Call instead.

Si method représente une méthode d’instance, Type la propriété instance de doit pouvoir être assignée au type déclarant de la méthode représentée methodpar.If method represents an instance method, the Type property of instance must be assignable to the declaring type of the method represented by method.

Si arguments n’a nullpas la valeur, il doit avoir le même nombre d’éléments que le nombre de paramètres pour la methodméthode représentée par.If arguments is not null, it must have the same number of elements as the number of parameters for the method represented by method. Chaque élément dans arguments ne doit pas null être et doit pouvoir être assigné au paramètre correspondant de method, éventuellement après l’attribution d’un guillemet.Each element in arguments must not be null and must be assignable to the corresponding parameter of method, possibly after quoting.

Notes

Un élément est mis entre guillemets uniquement si le paramètre de méthode correspondant Expressionest de type.An element will be quoted only if the corresponding method parameter is of type Expression. Quote signifie que l’élément est encapsulé dans Quote un nœud.Quoting means the element is wrapped in a Quote node. Le nœud résultant est un UnaryExpression dont Operand la propriété est l’élément argumentsde.The resulting node is a UnaryExpression whose Operand property is the element of arguments.

La Arguments propriété du résultant MethodCallExpression est vide si arguments est null.The Arguments property of the resulting MethodCallExpression is empty if arguments is null. Dans le cas contraire, elle contient les argumentsmêmes éléments que, dont certains peuvent être placés entre guillemets.Otherwise, it contains the same elements as arguments, some of which may be quoted.

La Type propriété du résultant MethodCallExpression est égale au type de retour de la méthode représentée par method.The Type property of the resulting MethodCallExpression is equal to the return type of the method represented by method.

Call(MethodInfo, Expression[])

Crée un MethodCallExpression qui représente un appel à une méthode static (Shared en Visual Basic) comportant des arguments.Creates a MethodCallExpression that represents a call to a static (Shared in Visual Basic) method that has arguments.

public:
 static System::Linq::Expressions::MethodCallExpression ^ Call(System::Reflection::MethodInfo ^ method, ... cli::array <System::Linq::Expressions::Expression ^> ^ arguments);
public static System.Linq.Expressions.MethodCallExpression Call (System.Reflection.MethodInfo method, params System.Linq.Expressions.Expression[] arguments);
static member Call : System.Reflection.MethodInfo * System.Linq.Expressions.Expression[] -> System.Linq.Expressions.MethodCallExpression
Public Shared Function Call (method As MethodInfo, ParamArray arguments As Expression()) As MethodCallExpression

Paramètres

method
MethodInfo

MethodInfo qui représente une méthode static (Shared en Visual Basic) à laquelle la propriété Method doit être égale.A MethodInfo that represents a static (Shared in Visual Basic) method to set the Method property equal to.

arguments
Expression[]

Tableau d'objets Expression à utiliser pour remplir la collection Arguments.An array of Expression objects to use to populate the Arguments collection.

Retours

MethodCallExpression dont la propriété NodeType est égale à Call et dont les propriétés Method et Arguments ont les valeurs spécifiées.A MethodCallExpression that has the NodeType property equal to Call and the Method and Arguments properties set to the specified values.

Exceptions

method a la valeur null.method is null.

Le nombre d’éléments dans arguments ne correspond pas au nombre de paramètres pour la méthode représentée par method.The number of elements in arguments does not equal the number of parameters for the method represented by method.

- ou --or- Un ou plusieurs des éléments des arguments n’est pas assignable au paramètre correspondant pour la méthode représentée par method.One or more of the elements of arguments is not assignable to the corresponding parameter for the method represented by method.

Remarques

Si arguments n’a nullpas la valeur, il doit avoir le même nombre d’éléments que le nombre de paramètres pour la methodméthode représentée par.If arguments is not null, it must have the same number of elements as the number of parameters for the method represented by method. Chaque élément dans arguments ne doit pas null être et doit pouvoir être assigné au paramètre correspondant de method, éventuellement après l’attribution d’un guillemet.Each element in arguments must not be null and must be assignable to the corresponding parameter of method, possibly after quoting.

Notes

Un élément est mis entre guillemets uniquement si le paramètre de méthode correspondant Expressionest de type.An element will be quoted only if the corresponding method parameter is of type Expression. Quote signifie que l’élément est encapsulé dans Quote un nœud.Quoting means the element is wrapped in a Quote node. Le nœud résultant est un UnaryExpression dont Operand la propriété est l’élément argumentsde.The resulting node is a UnaryExpression whose Operand property is the element of arguments.

La Arguments propriété du résultant MethodCallExpression est vide si arguments est null.The Arguments property of the resulting MethodCallExpression is empty if arguments is null. Dans le cas contraire, elle contient les argumentsmêmes éléments que, dont certains peuvent être placés entre guillemets.Otherwise, it contains the same elements as arguments, some of which may be quoted.

La Type propriété du résultant MethodCallExpression est égale au type de retour de la méthode représentée par method.The Type property of the resulting MethodCallExpression is equal to the return type of the method represented by method. La propriété Object est null.The Object property is null.

Call(MethodInfo, Expression)

Crée un MethodCallExpression qui représente un appel à une méthode static (Shared en Visual Basic) qui prend un seul argument.Creates a MethodCallExpression that represents a call to a static (Shared in Visual Basic) method that takes one argument.

public:
 static System::Linq::Expressions::MethodCallExpression ^ Call(System::Reflection::MethodInfo ^ method, System::Linq::Expressions::Expression ^ arg0);
public static System.Linq.Expressions.MethodCallExpression Call (System.Reflection.MethodInfo method, System.Linq.Expressions.Expression arg0);
static member Call : System.Reflection.MethodInfo * System.Linq.Expressions.Expression -> System.Linq.Expressions.MethodCallExpression
Public Shared Function Call (method As MethodInfo, arg0 As Expression) As MethodCallExpression

Paramètres

method
MethodInfo

MethodInfo auquel la propriété Method doit être égale.A MethodInfo to set the Method property equal to.

arg0
Expression

Expression qui représente le premier argument.The Expression that represents the first argument.

Retours

MethodCallExpression dont la propriété NodeType est égale à Call et dont les propriétés Object et Method ont les valeurs spécifiées.A MethodCallExpression that has the NodeType property equal to Call and the Object and Method properties set to the specified values.

Exceptions

method a la valeur null.method is null.

Exemples

L’exemple suivant montre comment créer une expression qui appelle une static méthode (Shared dans Visual Basic) qui accepte un seul argument.The following example demonstrates how to create an expression that calls a static (Shared in Visual Basic) method that takes one argument.

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

public class SampleClass
{
    public static int Increment(int arg1)
    {
        return arg1 + 1;
    }
}

static public void TestCall()
{

    //This expression represents a call to an instance method with one argument.
    Expression callExpr = Expression.Call(
                            typeof(SampleClass).GetMethod("Increment"),
                            Expression.Constant(2)
                        );

    // 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<int>>(callExpr).Compile()());

    // This code example produces the following output:
    //
    // Increment(2)
    // 3
}
' Add the following directive to your file:
' Imports System.Linq.Expressions  

Public Class SampleClass
    Shared Function Increment(ByVal arg1 As Integer) As Integer
        Return arg1 + 1
    End Function
End Class
Shared Sub TestCall()
    'This expression represents a call to an instance method with one argument.
    Dim callExpr As Expression = Expression.Call(
        GetType(SampleClass).GetMethod("Increment"),
        Expression.Constant(2))

    ' Print 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(Of Func(Of Integer))(callExpr).Compile()())
End Sub

' This code example produces the following output:
'
' Increment(2)
' 3

Call(MethodInfo, IEnumerable<Expression>)

Crée un MethodCallExpression qui représente un appel à une méthode statique (méthode partagée en Visual Basic).Creates a MethodCallExpression that represents a call to a static (Shared in Visual Basic) method.

public:
 static System::Linq::Expressions::MethodCallExpression ^ Call(System::Reflection::MethodInfo ^ method, System::Collections::Generic::IEnumerable<System::Linq::Expressions::Expression ^> ^ arguments);
public static System.Linq.Expressions.MethodCallExpression Call (System.Reflection.MethodInfo method, System.Collections.Generic.IEnumerable<System.Linq.Expressions.Expression> arguments);
static member Call : System.Reflection.MethodInfo * seq<System.Linq.Expressions.Expression> -> System.Linq.Expressions.MethodCallExpression
Public Shared Function Call (method As MethodInfo, arguments As IEnumerable(Of Expression)) As MethodCallExpression

Paramètres

method
MethodInfo

MethodInfo qui représente la méthode cible.The MethodInfo that represents the target method.

arguments
IEnumerable<Expression>

Collection de Expression qui représente les arguments de l'appel.A collection of Expression that represents the call arguments.

Retours

MethodCallExpression dont la propriété NodeType est égale à Call et dont les propriétés Object et Method ont les valeurs spécifiées.A MethodCallExpression that has the NodeType property equal to Call and the Object and Method properties set to the specified values.

Call(Expression, MethodInfo)

Crée un MethodCallExpression qui représente un appel à une méthode qui ne prend aucun argument.Creates a MethodCallExpression that represents a call to a method that takes no arguments.

public:
 static System::Linq::Expressions::MethodCallExpression ^ Call(System::Linq::Expressions::Expression ^ instance, System::Reflection::MethodInfo ^ method);
public static System.Linq.Expressions.MethodCallExpression Call (System.Linq.Expressions.Expression instance, System.Reflection.MethodInfo method);
static member Call : System.Linq.Expressions.Expression * System.Reflection.MethodInfo -> System.Linq.Expressions.MethodCallExpression
Public Shared Function Call (instance As Expression, method As MethodInfo) As MethodCallExpression

Paramètres

instance
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)).An Expression that specifies the instance for an instance method call (pass null for a static (Shared in Visual Basic) method).

method
MethodInfo

MethodInfo auquel la propriété Method doit être égale.A MethodInfo to set the Method property equal to.

Retours

MethodCallExpression dont la propriété NodeType est égale à Call et dont les propriétés Object et Method ont les valeurs spécifiées.A MethodCallExpression that has the NodeType property equal to Call and the Object and Method properties set to the specified values.

Exceptions

method est null.method is null.

- ou --or- instance est null et method représente une méthode d’instance.instance is null and method represents an instance method.

instance. Le type ne peut pas être affecté au type de la méthode représentée par method.instance.Type is not assignable to the declaring type of the method represented by method.

Exemples

L’exemple de code suivant montre comment créer une expression qui appelle une méthode sans arguments.The following code example shows how to create an expression that calls a method without 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

' Add the following directive to your file:
' Imports System.Linq.Expressions   

' This expression represents a call to an instance method without arguments.
Dim callExpr As Expression = Expression.Call(
    Expression.Constant("sample string"), GetType(String).GetMethod("ToUpper", New Type() {}))

' Print 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(Of Func(Of String))(callExpr).Compile()())

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

Remarques

Pour représenter un appel à une static méthodeShared (dans Visual Basic null ), transmettez pour le instance paramètre lorsque vous appelez cette méthode.To represent a call to a static (Shared in Visual Basic) method, pass in null for the instance parameter when you call this method.

Si method représente une méthode d’instance, Type la propriété instance de doit pouvoir être assignée au type déclarant de la méthode représentée methodpar.If method represents an instance method, the Type property of instance must be assignable to the declaring type of the method represented by method.

La Arguments propriété du résultant MethodCallExpression est vide.The Arguments property of the resulting MethodCallExpression is empty. La Type propriété est égale au type de retour de la méthode représentée par method.The Type property is equal to the return type of the method represented by method.

Call(MethodInfo, Expression, Expression)

Crée un MethodCallExpression qui représente un appel à une méthode statique prenant deux arguments.Creates a MethodCallExpression that represents a call to a static method that takes two arguments.

public:
 static System::Linq::Expressions::MethodCallExpression ^ Call(System::Reflection::MethodInfo ^ method, System::Linq::Expressions::Expression ^ arg0, System::Linq::Expressions::Expression ^ arg1);
public static System.Linq.Expressions.MethodCallExpression Call (System.Reflection.MethodInfo method, System.Linq.Expressions.Expression arg0, System.Linq.Expressions.Expression arg1);
static member Call : System.Reflection.MethodInfo * System.Linq.Expressions.Expression * System.Linq.Expressions.Expression -> System.Linq.Expressions.MethodCallExpression
Public Shared Function Call (method As MethodInfo, arg0 As Expression, arg1 As Expression) As MethodCallExpression

Paramètres

method
MethodInfo

MethodInfo auquel la propriété Method doit être égale.A MethodInfo to set the Method property equal to.

arg0
Expression

Expression qui représente le premier argument.The Expression that represents the first argument.

arg1
Expression

Expression qui représente le deuxième argument.The Expression that represents the second argument.

Retours

MethodCallExpression dont la propriété NodeType est égale à Call et dont les propriétés Object et Method ont les valeurs spécifiées.A MethodCallExpression that has the NodeType property equal to Call and the Object and Method properties set to the specified values.

Exceptions

method a la valeur null.method is null.

S’applique à