Binder.BindToMethod Méthode
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.
Sélectionne une méthode à appeler à partir de l'ensemble de méthodes donné, en fonction des arguments fournis.
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);
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.
- match
- MethodBase[]
Ensemble des méthodes qui sont candidates pour une correspondance. 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. L'implémentation par défaut fournie par DefaultBinder modifie l'ordre de ce tableau.
- args
- Object[]
Arguments qui sont passés. 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. Si une implémentation de binder force des types d'arguments, les types et les valeurs des arguments peuvent également être modifiés.
- 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. L'implémentation du binder par défaut n'utilise pas ce paramètre.
- 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. Si culture
est null
, le CultureInfo du thread actuel est utilisé.
- 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. Par exemple, les noms des paramètres doivent être utilisés si les arguments ne sont pas fournis en ordre positionnel.
- 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. Le binder crée cet objet et représente le seul consommateur de ce dernier. 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).
Retours
La méthode correspondante.
Exceptions
Pour le binder par défaut, match
contient plusieurs méthodes qui sont des correspondances également correctes pour args
. Par exemple, args
contient un MyClass
objet qui implémente l’interface IMyClass
et match
contient une méthode qui prend MyClass
et une méthode qui prend IMyClass
.
Pour le binder par défaut, match
ne contient aucune méthode pouvant accepter les arguments fournis dans args
.
Pour le binder par défaut, match
est null
ou un tableau vide.
Remarques
Le classeur par défaut prend en compte les paramètres qui ont des valeurs et params
des tableaux (ParamArray
tableaux en Visual Basic). Ainsi, il est possible de trouver une correspondance dans les cas où args
et match
ne contiennent pas le même nombre d’éléments.
Le classeur permet à un client de mapper le tableau d’arguments à sa forme d’origine si le tableau d’arguments a été manipulé par BindToMethod. Utilisez cette fonctionnalité de remappage pour récupérer des arguments de référence lorsque de tels arguments sont présents. Lorsque vous passez des arguments par nom, le classeur réorganise le tableau d’arguments. Le state
paramètre effectue le suivi de la réorganisation des arguments, ce qui permet à la méthode du ReorderArgumentArray classeur de réorganiser le tableau d’arguments dans sa forme d’origine.
La BindToMethod méthode est utilisée par la Type.InvokeMember méthode .
Si une implémentation de classeur autorise la contrainte des valeurs de chaîne sur des types numériques, le culture
paramètre est nécessaire pour convertir une chaîne qui représente 1000 en Double valeur, car 1000 est représenté différemment par différentes cultures. Le binder par défaut ne fait pas de telles contraintes de chaînes.