System.Reflection? [Résolu]

Olympe18 3 Messages postés vendredi 14 janvier 2005Date d'inscription 15 janvier 2005 Dernière intervention - 14 janv. 2005 à 21:09 - Dernière réponse : Olympe18 3 Messages postés vendredi 14 janvier 2005Date d'inscription 15 janvier 2005 Dernière intervention
- 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
cs_coq 6366 Messages postés samedi 1 juin 2002Date d'inscription 2 août 2014 Dernière intervention - 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é 85 internautes ce mois-ci

Commenter la réponse de cs_coq
Olympe18 3 Messages postés vendredi 14 janvier 2005Date d'inscription 15 janvier 2005 Dernière intervention - 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
Olympe18 3 Messages postés vendredi 14 janvier 2005Date d'inscription 15 janvier 2005 Dernière intervention - 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.