olivgiov
Messages postés11Date d'inscriptionsamedi 7 octobre 2006StatutMembreDernière intervention 2 avril 2007
-
29 mars 2007 à 00:49
cs_coq
Messages postés6349Date d'inscriptionsamedi 1 juin 2002StatutMembreDernière intervention 2 août 2014
-
2 avril 2007 à 18:38
Bonjour,
je fais une methode permettant de creer un menuItem associé à la création d'une fenetre...
public
ToolStripMenuItem CreateMenuItem(
string text,
int numFenetre,
Type typeForm){
Form mafenetre = (
Form)(
Activator.CreateInstance(typeForm));mafenetre.MdiParent =
this;mafenetre.Show();
.....
je crée une fenetre en passant le type de mon formulaire en parametre de ma methode
et je crée mon formulaire avec createinstance..
mais j'aimerais par la suite dans le reste de mon programme pouvoir lister tous les objets de type typeForm donc tous les Formulaires de meme type.
Comment faire ?? (j'imagine que je dois utiliser la reflexion).
olivgiov
Messages postés11Date d'inscriptionsamedi 7 octobre 2006StatutMembreDernière intervention 2 avril 2007 29 mars 2007 à 10:32
Merci !!
Bon vu que mon programme utilise des form Mdi ...
j ai retrouvé mes formulaire dans la proprieté MdiChildren , par contre j'ai utilisé
le : if ( f.GetType( ) == typeForm ) et ca fonctionne parfaitement !
olivgiov
Messages postés11Date d'inscriptionsamedi 7 octobre 2006StatutMembreDernière intervention 2 avril 2007 30 mars 2007 à 10:41
Ok c'est en effet que je fais actuellement mais je me demandais s'il n'existait une méthode qui pourrait me renvoyer
un tableau des objets instancié d'un type passé en parametre mais je pensais que le reflexion pouvait me donner ce genre de renseignement à un instant t.
cs_coq
Messages postés6349Date d'inscriptionsamedi 1 juin 2002StatutMembreDernière intervention 2 août 2014101 2 avril 2007 à 18:38
Salut,
A ma connaissance non, et même si c'était faisable les impacts sur les performances seraient sans doute importants.
Mais si tu as vraiment besoin de maintenir une liste des instances crées d'un type particulier, tu peux t'orienter vers un design de ta classe te permettant de le faire, notamment par le passage en privé du/des constructeur(s) et en ne permettant d'obtenir une nouvelle instance de la classe que par une méthode de type "CreateInstance", te permettant ainsi de maintenir une liste des instances crées.
Naturellement n'oublie pas de mettre en oeuvre ce qu'il faut pour retirer les instances de la liste une fois qu'elles doivent être libérées, sinon le GC ne pourra jamais faire son travail, la liste maintenant une référence => voir le modèle Dispose.