IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C# Discussion :

[VS2005][C#] Création et recherche dynamique d'objet


Sujet :

C#

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 3
    Points : 2
    Points
    2
    Par défaut [VS2005][C#] Création et recherche dynamique d'objet
    Bonjour,
    j'ai une classe personne ayant un certain nombre de méthode comme par exemple DitBonjour.
    Je voudrais que depuis une console (c'est un projet "console"), l'utilisateur aila possibilité d'instancier cette classe. C'est à dire qu'il puisse taper par exemple
    Creer personne Alain
    et qu'alors s'instancie Alain come si j'avais mon code source
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    personne Alain = new personn()
    puis le faire "vivre" avec des chose comme Alain.DitBonjour()

    Je n'arrive pas a trouver un moyen de créer dynamiquement l'instance puisque je ne connais pas encore son nom. De même, comment pourrai-je acceder à une de ses méthodes dans la suite de mon programme? il faut qu'un objet personne TEMPO pointe vers l'objet ayant le nom Alain puis faire un truc du genre TEMPO.DitBonjour, mais je n'arrive pas a rechercher l'objet ayant le nom alain. J'ai vu qu'il existait la methode Find dsn MSDN mais il n'y a pas d'exemple et je n'arrive pas à m'en servir...

    J'ai donc deux questions:
    -Comment créer une instance d'une classe ayant pour nom le nom contenu par une chaine de caractere?
    -Comment trouver l'instance ayant le même nom que celui contenu par une chaine de caractere?


    Merci de voter aide

  2. #2
    Membre actif Avatar de wikipierre
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    222
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 222
    Points : 230
    Points
    230
    Par défaut
    Salut,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Console.Writeline("Vous voulez créer qui ? (syntaxe Creer Personne Name);
    string name;
    Console.ReadLine(name);
    personne name = new personne();
    Je ne suis pas sur que ca marche.

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 3
    Points : 2
    Points
    2
    Par défaut
    je viens d'essayer: ça ne marche pas...

    Merci de ton aide

  4. #4
    Membre actif Avatar de wikipierre
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    222
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 222
    Points : 230
    Points
    230
    Par défaut
    Salut,
    A mon avis, le plus simple serait que tu appele ta méthode comme ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    personne pers = new personne(name);
    Par contre, c'est pas du tout bon si l'utilisateur doit créer plusieurs personnages en même temp.

    Si l'utilisateur veut créer un nouveaux personnages, il faudra que tu utilise un destructeur, car tu ne pourra pas utiliser deux objets de même nom.

  5. #5
    Membre habitué
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    105
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2003
    Messages : 105
    Points : 134
    Points
    134
    Par défaut
    Citation Envoyé par wikipierre
    Salut,
    A mon avis, le plus simple serait que tu appele ta méthode comme ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    personne pers = new personne(name);
    Par contre, c'est pas du tout bon si l'utilisateur doit créer plusieurs personnages en même temp.

    Si l'utilisateur veut créer un nouveaux personnages, il faudra que tu utilise un destructeur, car tu ne pourra pas utiliser deux objets de même nom.
    Tu dois mélanger des notions !

    Pour créer un objet dynamiquement durant l'exécution, il te faudra passer par la réflexion. Renseigne-toi un peu dans la MSDN ou sur google, il y a un nombre très consistant d'articles Tu pourras par exemple te tourner vers la classe Activator et sa méthode CreateInstance. Tu dois pouvoir faire quelque chose comme ça (de tête, donc à tester) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    object o = Activator.CreateInstance(type);
    Bonne chance

  6. #6
    Candidat au Club
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 3
    Points : 2
    Points
    2
    Par défaut
    Merci de ton aide.
    Je suis entrain de ragrder les reflexions, j'ai mal à la tête
    En fait j'ai une idée, je vais essayer de passer par un arrayList, mettre un champ Nom dans ma classe personne, creer une instance l'ajouter au arraylist, et comme ça je pourai rechercher l'objet dans le array list pour utiliser ses methodes...

    encore merci

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [GLScene] Création dynamique d'objet
    Par Matt2094 dans le forum Langage
    Réponses: 8
    Dernier message: 09/05/2010, 13h28
  2. [C#] Création dynamique d'objets
    Par Gloups dans le forum Windows Forms
    Réponses: 7
    Dernier message: 16/08/2006, 01h52
  3. Création dynamique d'objets ?
    Par Arthur A. dans le forum C++
    Réponses: 6
    Dernier message: 15/06/2005, 23h55
  4. création dynamique d'objet, projet win32
    Par noinneh dans le forum MFC
    Réponses: 5
    Dernier message: 03/02/2005, 16h07
  5. [Reflexivite]création dynamique d'objet et Héritage
    Par norkius dans le forum API standards et tierces
    Réponses: 5
    Dernier message: 26/10/2004, 11h37

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo