TypeBuilder.InvokeMember 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.
Appelle le membre spécifié. La méthode à appeler doit être accessible et fournir la correspondance la plus spécifique avec la liste d’arguments spécifiée, sous les contraintes des attributs de binder et d’appel spécifiés.
public:
override System::Object ^ InvokeMember(System::String ^ name, System::Reflection::BindingFlags invokeAttr, System::Reflection::Binder ^ binder, System::Object ^ target, cli::array <System::Object ^> ^ args, cli::array <System::Reflection::ParameterModifier> ^ modifiers, System::Globalization::CultureInfo ^ culture, cli::array <System::String ^> ^ namedParameters);
public override object? InvokeMember (string name, System.Reflection.BindingFlags invokeAttr, System.Reflection.Binder? binder, object? target, object?[]? args, System.Reflection.ParameterModifier[]? modifiers, System.Globalization.CultureInfo? culture, string[]? namedParameters);
public override object InvokeMember (string name, System.Reflection.BindingFlags invokeAttr, System.Reflection.Binder binder, object target, object[] args, System.Reflection.ParameterModifier[] modifiers, System.Globalization.CultureInfo culture, string[] namedParameters);
override this.InvokeMember : string * System.Reflection.BindingFlags * System.Reflection.Binder * obj * obj[] * System.Reflection.ParameterModifier[] * System.Globalization.CultureInfo * string[] -> obj
Public Overrides Function InvokeMember (name As String, invokeAttr As BindingFlags, binder As Binder, target As Object, args As Object(), modifiers As ParameterModifier(), culture As CultureInfo, namedParameters As String()) As Object
Paramètres
- name
- String
Nom du membre à appeler. Il peut s’agir d’un constructeur, d’une méthode, d’une propriété ou d’un champ. Un attribut d’appel approprié doit être spécifié. Notez qu’il est possible d’appeler le membre par défaut d’une classe en passant une chaîne vide comme nom du membre.
- invokeAttr
- BindingFlags
Attribut d’appel. Il doit s’agir d’un indicateur de bit issu de BindingFlags
.
- binder
- Binder
Objet qui active la liaison, la contrainte de types d'arguments, l'appel des membres et la récupération d'objets MemberInfo
par le biais de la réflexion. Si binder a la valeur null
, le binder par défaut est utilisé. Consultez Binder.
- target
- Object
Objet sur lequel appeler le membre spécifié. Si le membre est statique, ce paramètre est ignoré.
- args
- Object[]
Liste d’arguments. Il s’agit d’un tableau d’objets contenant le nombre, l’ordre et le type des paramètres du membre à appeler. En l’absence de paramètres, il doit avoir la valeur null.
- modifiers
- ParameterModifier[]
Tableau de même longueur que args
avec des éléments qui représentent les attributs associés aux arguments du membre à appeler. Un paramètre est associé à des attributs dans les métadonnées. Elles sont utilisées par divers services d’interopérabilité. Pour plus d’informations, consultez les spécifications des métadonnées.
- culture
- CultureInfo
Instance de CultureInfo
utilisée pour régir la contrainte des types. Si la valeur est null, le CultureInfo
du thread actuel est utilisé. (Notez que cela est nécessaire pour, par exemple, convertir une chaîne représentant 1000 en valeur double, car 1000 est représenté de différentes manières selon la culture.)
- namedParameters
- String[]
Chaque paramètre dans le tableau namedParameters
obtient la valeur de l’élément correspondant dans le tableau args
. Si la longueur de args
est supérieure à la longueur de namedParameters
, les valeurs d’argument restantes sont passées dans l’ordre.
Retours
Retourne la valeur de retour du membre appelé.
Exceptions
Cette méthode n’est pas prise en charge pour l’instant pour les types incomplets.
Remarques
Une méthode est appelée si le nombre de paramètres dans la déclaration de méthode est égal au nombre d’arguments dans la liste d’arguments spécifiée, et si le type de chaque argument peut être converti par le classeur en type du paramètre.
Le classeur recherche toutes les méthodes correspondantes. Ces méthodes sont trouvées en fonction du type de liaison demandé (BindingFlags.InvokeMethod, BindingFlags.GetProperties, etc.). L’ensemble de méthodes est filtré par le nom, le nombre d’arguments et un ensemble de modificateurs de recherche définis dans le classeur. Une fois la méthode sélectionnée, elle est appelée. L’accessibilité est vérifiée à ce stade. La recherche peut contrôler l’ensemble de méthodes recherché en fonction de l’attribut d’accessibilité associé à la méthode. La IBinder.BindToMethod
méthode est responsable de la sélection de la méthode à appeler. Le classeur par défaut sélectionne la correspondance la plus spécifique.
Notes
Les restrictions d’accès sont ignorées pour le code entièrement approuvé. Autrement dit, les constructeurs, les méthodes, les champs et les propriétés privés sont accessibles et appelés à l’aide de Reflection chaque fois que le code est entièrement approuvé.
Cette méthode n’est pas prise en charge pour l’instant. Vous pouvez récupérer le type à l’aide Type.GetType de ou Assembly.GetType et utiliser la réflexion sur le type récupéré.