System.Reflection?

[Résolu]
Signaler
Messages postés
3
Date d'inscription
vendredi 14 janvier 2005
Statut
Membre
Dernière intervention
15 janvier 2005
-
Messages postés
3
Date d'inscription
vendredi 14 janvier 2005
Statut
Membre
Dernière intervention
15 janvier 2005
-
Bonjour,

Je suis encore un débutant en C# et je fais face à un petit problème. La solution est sans doute simple, mais pour l'instant, je ne trouve pas ma solution. Voici:


Notre application en développement comporte un menu créé dynamiquement où les items sont dans une base de données. Lorsqu'on clique sur un item dans le menu, un objet contenant la form à ouvrir est retourné. Le problème est simple : je dois ouvrir cette form à partir de cet objet ( ex: System.Windows.Forms.Form frm = new «MonObjet»() ) On m'a parlé de System.reflection, mais il doit y avoir un détail dans ça qui m'échappe encore...


Merci de votre aide!

3 réponses

Messages postés
6351
Date d'inscription
samedi 1 juin 2002
Statut
Modérateur
Dernière intervention
2 août 2014
97
Petit exemple simple, avec récupération et invocation du constructeur par défaut, sans paramètres :


string toShow = "LeNamespace.FormAAfficher";

Type type = Type.GetType(toShow);
object[] parameters = new object[]{};
Type[] types = new Type[]{};

Form form = (Form)type.GetConstructor(types).Invoke(parameters);
form.Show();

Cocoricoooooooo !!!!
coq
MVP Visual C#
Messages postés
3
Date d'inscription
vendredi 14 janvier 2005
Statut
Membre
Dernière intervention
15 janvier 2005

Évidemment, l'objet ne contient pas la form, mais bien le nom de la form!

Hé hé!
Messages postés
3
Date d'inscription
vendredi 14 janvier 2005
Statut
Membre
Dernière intervention
15 janvier 2005

Eh bien merci pour la réponse rapide! J'ai testé et ça fonctionne à merveille!!!

Je vais m'en souvenir!

Salut!