Binder.BindToMethod Méthode

Définition

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.

S’applique à

Voir aussi