fabrizionnf
Messages postés13Date d'inscriptionvendredi 2 juin 2006StatutMembreDernière intervention13 novembre 2008
-
13 juin 2006 à 16:14
dgouttegattat
Messages postés129Date d'inscriptionmardi 22 novembre 2005StatutMembreDernière intervention30 décembre 2007
-
14 juin 2006 à 14:00
Voila mon code pour utiliser Invokemember qui ne fonctionne pas elle me marque une erreur d'exception au niveau de l'initialisation de la variable Instance de type object.
object Instance = Activator.CreateInstance(essai);
try
{
result = essai.InvokeMember(Methods[this.listBox1.SelectedIndex].ToString(),BindingFlags.InvokeMethod,null,Instance,myArguments);
MessageBox.Show(result.ToString());
}
catch(Exception Ex )
{
MessageBox.Show("Erreur de Méthodes"+ Ex);
}
}
Aidez moi s'il vous plaît c'est urgent .
Le lion ne proclame pas sa tigritude
fabrizionnf
Messages postés13Date d'inscriptionvendredi 2 juin 2006StatutMembreDernière intervention13 novembre 2008 14 juin 2006 à 13:22
Salut
Pourrais tu m'expliquer les paramétres dde la méthode InvokeMember en
particulier le 2épararamétre BindingsFlags , qui je crois me cause
énormement de soucis .En fait
dgouttegattat
Messages postés129Date d'inscriptionmardi 22 novembre 2005StatutMembreDernière intervention30 décembre 20073 14 juin 2006 à 14:00
Pour ce que j'en sais, le paramètre BindingFlags permet de préciser deux choses :
-- ce que tu veux faire : créer une instance du type (BindingFlags.CreateInstance), appeler une méthode définie dans le type (BindingFlags.InvokeMethod), récupérer la valeur d'une propriété (BindingFlags.GetProperty), etc... ;
-- le genre de méthodes que tu veux appeler : publiques ou non (BindingFlags.Public, BindingFlags.NonPublic), statiques ou d'instance (BindingFlags.Static, BindingFlags.Instance).
Dans ton cas, tu veux appeler une méthode, donc l'utilisation de BindingFlags.InvokeMethod est correcte, mais tu devrais peut-être essayer :
<hr />
afin que InvokeMember recherche bien une méthode d'instance, et ce qu'elle soit publique ou privée.
Concernant le Binder, a priori c'est l'objet qui est chargé de rechercher la méthode à appeler. Je pense que tu peux laisser ce paramètre à null, afin d'utiliser le Binder par défaut.