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);
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 valeurs au niveau du BindingFlags bit.

match
MethodBase[]

Ensemble de méthodes qui sont candidates à la correspondance. Par exemple, lorsqu’un Binder objet est utilisé par InvokeMember, ce paramètre spécifie l’ensemble de méthodes que la réflexion a déterminé comme étant des correspondances possibles, généralement parce qu’ils ont le nom de membre correct. L’implémentation par défaut fournie par DefaultBinder change l’ordre de ce tableau.

args
Object[]

Arguments passés. Le classeur peut modifier l’ordre des arguments de ce tableau ; Par exemple, le classeur par défaut modifie l’ordre des arguments si le names paramètre est utilisé pour spécifier un ordre autre que l’ordre positionnel. Si une implémentation de classeur force les types d’arguments, les types et valeurs des arguments peuvent également être modifiés.

modifiers
ParameterModifier[]

Tableau de modificateurs de paramètres qui permettent à la liaison d’utiliser des signatures de paramètre dans lesquelles les types ont été modifiés. L’implémentation du classeur par défaut n’utilise pas ce paramètre.

culture
CultureInfo

Instance de celle-ci CultureInfo utilisée pour contrôler la contrainte des types de données, dans les implémentations de classeur qui forcent les types. Si culture c’est nullle cas, le CultureInfo thread actuel est utilisé.

names
String[]

Les noms de paramètres, si les noms de paramètres doivent être pris en compte lors de la correspondance, ou null si les arguments doivent être traités comme purement positionnels. Par exemple, les noms de paramètres doivent être utilisés si les arguments ne sont pas fournis dans l’ordre positionnel.

state
Object

Une fois la méthode retournée, state contient un objet fourni par un classeur qui effectue le suivi de la réorganisation des arguments. Le classeur crée cet objet et le classeur est le seul consommateur de cet objet. Si state n’est pas null lorsque BindToMethod retourne, vous devez passer state à la méthode ReorderArgumentArray(Object[], Object) si vous souhaitez restaurer args dans son ordre d’origine, par exemple pour pouvoir récupérer les valeurs des paramètres ref (paramètres ByRef dans Visual Basic).

Retours

Méthode correspondante.

Exceptions

Pour le classeur par défaut, match contient plusieurs méthodes qui sont également bonnes correspondances 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 classeur par défaut, match ne contient aucune méthode qui peut accepter les arguments fournis dans args.

Pour le classeur par défaut, match il s’agit d’un null tableau vide.

Remarques

Le classeur par défaut prend en compte les deux paramètres qui ont des valeurs et des tableaux params (ParamArray tableaux dans 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.

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 classeur de ReorderArgumentArray réorganiser le tableau d’arguments sous 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 en 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 classeur par défaut ne fait pas de contraintes de chaîne.

S’applique à

Voir aussi