System.Reflection? [Résolu]

Messages postés
3
Date d'inscription
vendredi 14 janvier 2005
Dernière intervention
15 janvier 2005
- 14 janv. 2005 à 21:09 - Dernière réponse :
Messages postés
3
Date d'inscription
vendredi 14 janvier 2005
Dernière intervention
15 janvier 2005
- 15 janv. 2005 à 00:25
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!
Afficher la suite 

Votre réponse

3 réponses

Meilleure réponse
Messages postés
6366
Date d'inscription
samedi 1 juin 2002
Dernière intervention
2 août 2014
- 14 janv. 2005 à 22:46
3
Merci
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#

Merci cs_coq 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 91 internautes ce mois-ci

Commenter la réponse de cs_coq
Messages postés
3
Date d'inscription
vendredi 14 janvier 2005
Dernière intervention
15 janvier 2005
- 14 janv. 2005 à 22:30
0
Merci
Évidemment, l'objet ne contient pas la form, mais bien le nom de la form!

Hé hé!
Commenter la réponse de Olympe18
Messages postés
3
Date d'inscription
vendredi 14 janvier 2005
Dernière intervention
15 janvier 2005
- 15 janv. 2005 à 00:25
0
Merci
Eh bien merci pour la réponse rapide! J'ai testé et ça fonctionne à merveille!!!

Je vais m'en souvenir!

Salut!
Commenter la réponse de Olympe18

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.