Mécanisme de réflexion

Résolu
fabrizionnf Messages postés 13 Date d'inscription vendredi 2 juin 2006 Statut Membre Dernière intervention 13 novembre 2008 - 6 juin 2006 à 16:47
fabrizionnf Messages postés 13 Date d'inscription vendredi 2 juin 2006 Statut Membre Dernière intervention 13 novembre 2008 - 7 juin 2006 à 16:34
Bonjour ,
je suis débutant en C# , j'ai un gros soucis au niveau des réflexions.
En fait je dois afficher des méthodes et les paramétres des méthodes que génére les différents interfaces de deux Dll.
j'ai pu les afficher , pour les afficher j'ai conservé les interfaces dont j'avais besoin dans une
array List en faisant ceci :

for( i=0 ; i < this.listResulat.Count; i++)// Parcourir l'ArrayList et Afficher le contenu;
   {
    Resultat res = (Resultat)this.listResulat[i]; //Caster la variable
    this.listBox1.Items.Add(res);//Afficher dans la ListBox;
    
   }
Resultat c'est une class qui me permet  de convertir en string les objets pour pouvoir les afficher.

en suite dans mon événement lié à ma ListBox je fais ce ci pour afficher les méthodes:

Resultat res = (Resultat)this.listBox1.SelectedItem;
   Type resType = res.GetType();
   MethodInfo[] Methods = resType.GetMethods();

   la ce qui apparaît c'est la liste des méthodes qui se trouve dans la classe Résultat , je veux la liste des méthodes  de classe qui se trouve dans mon Arraylist .
je n'arrive pas à l'obtenir
Aidez moi svp merci...

6 réponses

Lutinore Messages postés 3246 Date d'inscription lundi 25 avril 2005 Statut Membre Dernière intervention 27 octobre 2012 41
6 juin 2006 à 16:59
Tu appelles GetType sur un objet de la classe Resultat c'est normal que par la suite tu récupères les MethoInfo du type Resultat. C'est une liste de Type qu'il faudrait.
3
Lutinore Messages postés 3246 Date d'inscription lundi 25 avril 2005 Statut Membre Dernière intervention 27 octobre 2012 41
7 juin 2006 à 10:16
Je ne vois pas comment je peux te répondre je connais pas ton code, je ne sais pas comment est créée ta classe Resultat et je sais pas ce qu'elle contient..
3
fabrizionnf Messages postés 13 Date d'inscription vendredi 2 juin 2006 Statut Membre Dernière intervention 13 novembre 2008
7 juin 2006 à 16:34
Merci c'est exactement ça , c'est cool ça marche merci encore

Le lion ne proclame pas sa tigritude
3
fabrizionnf Messages postés 13 Date d'inscription vendredi 2 juin 2006 Statut Membre Dernière intervention 13 novembre 2008
7 juin 2006 à 09:24
Comment je fais dont pour obtenir la liste des types .car je suis bloqué c'est pour mon stage svp.

Le lion ne proclame pas sa tigritude
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
fabrizionnf Messages postés 13 Date d'inscription vendredi 2 juin 2006 Statut Membre Dernière intervention 13 novembre 2008
7 juin 2006 à 13:42
Salut , je t'envois le code de la classe résultat Merci eencore.
using System;



namespace ComposantGuild
{
 /// <summary>
 /// Summary description for Resultat.
 /// </summary>
 public class Resultat
 {
  Type inTer,cclass;



  public int toto;



  public Resultat()
  {
  }
  
  public Resultat(Type inTerfs, Type Cclass )
  {
   this.inTer=inTerfs;
   this.cclass= Cclass;
  }



  public Type GetInterface()
  {
   return this.inTer;
  }



  public Type GetClass()
  {
   return this.cclass;
  }



  public void  SetInterface(Type t)
  {
   this.inTer=t;
  }
  public void  SetClass (Type t)
  {
   this.cclass= t;
  }



  override public  string ToString()
  {
   return( inTer.ToString() + "    "  +  cclass.ToString());
  }





 }
}
 

Le lion ne proclame pas sa tigritude
0
Lutinore Messages postés 3246 Date d'inscription lundi 25 avril 2005 Statut Membre Dernière intervention 27 octobre 2012 41
7 juin 2006 à 15:36
Je sais pas si c'est exactement ça que tu veux..

Resultat res = (Resultat)this.listBox1.SelectedItem;
Ty pe resType = res.GetClass(); // ou GetInterface( )
MethodInfo[] Methods = resType.GetMethods();
0
Rejoignez-nous