Binder.BindToMethod(BindingFlags, MethodBase[], Object[], ParameterModifier[], CultureInfo, String[], Object) Méthode

Définition

Sélectionne une méthode à appeler à partir de l'ensemble de méthodes donné, en fonction des arguments fournis.Selects a method to invoke from the given set of methods, based on the supplied arguments.

public:
 abstract System::Reflection::MethodBase ^ BindToMethod(System::Reflection::BindingFlags bindingAttr, cli::array <System::Reflection::MethodBase ^> ^ match, cli::array <System::Object ^> ^ % args, cli::array <System::Reflection::ParameterModifier> ^ modifiers, System::Globalization::CultureInfo ^ culture, cli::array <System::String ^> ^ names, [Runtime::InteropServices::Out] System::Object ^ % state);
public abstract System.Reflection.MethodBase BindToMethod (System.Reflection.BindingFlags bindingAttr, System.Reflection.MethodBase[] match, ref object[] args, System.Reflection.ParameterModifier[] modifiers, System.Globalization.CultureInfo culture, string[] names, out object state);
abstract member BindToMethod : System.Reflection.BindingFlags * System.Reflection.MethodBase[] * Object[] * System.Reflection.ParameterModifier[] * System.Globalization.CultureInfo * string[] * obj -> System.Reflection.MethodBase
Public MustOverride Function BindToMethod (bindingAttr As BindingFlags, match As MethodBase(), ByRef args As Object(), modifiers As ParameterModifier(), culture As CultureInfo, names As String(), ByRef state As Object) As MethodBase

Paramètres

bindingAttr
BindingFlags

Combinaison de bits de valeurs BindingFlags.A bitwise combination of BindingFlags values.

match
MethodBase[]

Ensemble des méthodes qui sont candidates pour une correspondance.The set of methods that are candidates for matching. Par exemple, lorsqu'un objet Binder est utilisé par InvokeMember, ce paramètre spécifie l'ensemble de méthodes que la réflexion a déterminées comme étant des correspondances possibles, en général parce qu'elles ont le nom de membre correct.For example, when a Binder object is used by InvokeMember, this parameter specifies the set of methods that reflection has determined to be possible matches, typically because they have the correct member name. L'implémentation par défaut fournie par DefaultBinder modifie l'ordre de ce tableau.The default implementation provided by DefaultBinder changes the order of this array.

args
Object[]

Arguments qui sont passés.The arguments that are passed in. Le binder peut modifier l'ordre des arguments dans ce tableau ; par exemple, le binder par défaut modifie l'ordre des arguments si le paramètre names est utilisé pour spécifier un ordre autre que l'ordre positionnel.The binder can change the order of the arguments in this array; for example, the default binder changes the order of arguments if the names parameter is used to specify an order other than positional order. Si une implémentation de binder force des types d'arguments, les types et les valeurs des arguments peuvent également être modifiés.If a binder implementation coerces argument types, the types and values of the arguments can be changed as well.

modifiers
ParameterModifier[]

Tableau de modificateurs de paramètres permettant des liaisons avec des signatures de paramètres dans lesquelles les types ont été modifiés.An array of parameter modifiers that enable binding to work with parameter signatures in which the types have been modified. L'implémentation du binder par défaut n'utilise pas ce paramètre.The default binder implementation does not use this parameter.

culture
CultureInfo

Instance de CultureInfo utilisée pour contrôler la contrainte de types de données dans les implémentations de binder qui forcent des types.An instance of CultureInfo that is used to control the coercion of data types, in binder implementations that coerce types. Si culture est null, le CultureInfo du thread actuel est utilisé.If culture is null, the CultureInfo for the current thread is used.

Remarque Par exemple, si une implémentation de binder permet la contrainte de valeurs de chaînes en types numériques, ce paramètre est nécessaire à la conversion d’un String représentant 1000 en valeur Double, car 1000 est représenté de différentes manières, selon la culture.Note For example, if a binder implementation allows coercion of string values to numeric types, this parameter is necessary to convert a String that represents 1000 to a Double value, because 1000 is represented differently by different cultures. Le binder par défaut ne fait pas de telles contraintes de chaînes.The default binder does not do such string coercions.

names
String[]

Noms des paramètres, si les noms des paramètres doivent être pris en considération en cas de correspondance, ou null si les arguments doivent être traités comme purement positionnels.The parameter names, if parameter names are to be considered when matching, or null if arguments are to be treated as purely positional. Par exemple, les noms des paramètres doivent être utilisés si les arguments ne sont pas fournis en ordre positionnel.For example, parameter names must be used if arguments are not supplied in positional order.

state
Object

Après le retour de la méthode, state contient un objet fourni par un binder qui assure le suivi de la réorganisation des arguments.After the method returns, state contains a binder-provided object that keeps track of argument reordering. Le binder crée cet objet et représente le seul consommateur de ce dernier.The binder creates this object, and the binder is the sole consumer of this object. Si state n'est pas null lors du retour de BindToMethod, vous devez passer state à la méthode ReorderArgumentArray(Object[], Object) si vous voulez restaurer l'ordre d'origine de args, par exemple, pour pouvoir récupérer les valeurs de paramètres ref (paramètres ByRef en Visual Basic).If state is not null when BindToMethod returns, you must pass state to the ReorderArgumentArray(Object[], Object) method if you want to restore args to its original order, for example, so that you can retrieve the values of ref parameters (ByRef parameters in Visual Basic).

Retours

La méthode correspondante.The matching method.

Exceptions

Pour le binder par défaut, match contient plusieurs méthodes qui sont des correspondances également correctes pour args.For the default binder, match contains multiple methods that are equally good matches for args. Par exemple, args contient un objet MyClass qui implémente l’interface IMyClass, et match contient une méthode qui prend MyClass et une méthode qui prend IMyClass.For example, args contains a MyClass object that implements the IMyClass interface, and match contains a method that takes MyClass and a method that takes IMyClass.

Pour le binder par défaut, match ne contient aucune méthode pouvant accepter les arguments fournis dans args.For the default binder, match contains no methods that can accept the arguments supplied in args.

Pour le binder par défaut, match est null ou un tableau vide.For the default binder, match is null or an empty array.

Remarques

Le binder par défaut prend en compte les deux paramètres qui ont des valeurs et params des tableaux (ParamArray des tableaux dans Visual Basic).The default binder takes into account both parameters that have values and params arrays (ParamArray arrays in Visual Basic). Par conséquent, il est possible de trouver une correspondance dans les cas où args et match ne contiennent pas le même nombre d’éléments.Thus, it is possible to find a match in cases where args and match do not contain the same number of elements.

Le Binder permet à un client de remapper le tableau d’arguments à son formulaire d’origine si le tableau d’arguments a été manipulé par BindToMethod.The binder enables a client to map the array of arguments back to its original form if the argument array has been manipulated by BindToMethod. Utilisez cette fonctionnalité de remappage pour récupérer les arguments par référence lorsque de tels arguments sont présents.Use this remap capability to get back by-reference arguments when such arguments are present. Lorsque vous transmettez des arguments par nom, le Binder réorganise le tableau d’arguments.When you pass arguments by name, the binder reorders the argument array. Le paramètre state effectue le suivi de la réorganisation des arguments, ce qui permet à la méthode de ReorderArgumentArray du Binder de réorganiser le tableau d’arguments sous sa forme d’origine.The state parameter keeps track of argument reordering, thus enabling the binder's ReorderArgumentArray method to reorder the argument array to its original form.

La méthode BindToMethod est utilisée par la méthode Type.InvokeMember.The BindToMethod method is used by the Type.InvokeMember method.

S’applique à

Voir aussi