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 :

Nom de Class variable


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    347
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 347
    Par défaut Nom de Class variable
    Bonjour,

    c'est assez simple (en tout cas à comprendre) voici mon code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
     
                ContactBase = Contact;
                switch (ContactType)
                {
                    case "VRP":
                        Contact = new VRP();
                        break;
     
                    case "NewBB":
                        Contact = new NewBB();
                        break;
     
                    case "Autre":
                        Contact = new Autre();
                        break;
     
                    case "PassParTout":
                        Contact = new PassParTout();
                        break;
     
                    case "IRSSPP":
                        Contact = new IRSSPP();
                        break;
     
                    case "Particulier":
                        Contact = new Particulier();
                        break;
     
                    case "Pro":
                        Contact = new Pro();
                        break;
     
                    default:
                        Contact = new Particulier();
                        break;
                }
                return Contact
    J'aimerai plutôt, au lieu de tout me taper, Instancier l'Object du nom de ContactType. Possible?

    Je sais que c'est pas super pro parce qu'on sait trop ce que l'on fait, mais là, y'a qu'une partie, et ça grossira de manière assez importante (en terme de nouveau Object pouvant être renvoyé dans Contact)

    Je vous remercie d'avance

  2. #2
    Membre expérimenté
    Profil pro
    Mangeur de gauffre
    Inscrit en
    Octobre 2007
    Messages
    4 413
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Mangeur de gauffre

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 413
    Par défaut
    c'est assez simple (en tout cas à comprendre) voici mon code:
    Non !

    Hors du contexte il n'est pas simple de comprendre ce que tu fais ni ce que tu cherche a faire et pourquoi

    Pour moi ca sent le design bizare !

  3. #3
    Membre chevronné Avatar de jacky01
    Profil pro
    Développeur .NET
    Inscrit en
    Juin 2007
    Messages
    537
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Juin 2007
    Messages : 537
    Par défaut
    Bonjour,

    Alors pour ma part j'ai fait ce que tu souhaite faire, mais moi ce n'était qu'avec des type standard (int, bool, string...) donc je ne sais pas si cela fonctionnera mais bon essaie quand même et tiens nous au courant

    Regarde de ce coté : Convert.ChangeType(A,B)

  4. #4
    Membre éprouvé
    Profil pro
    Inscrit en
    Février 2008
    Messages
    114
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 114
    Par défaut
    Bonjour,

    Citation Envoyé par jacky01 Voir le message
    Bonjour,

    Alors pour ma part j'ai fait ce que tu souhaite faire, mais moi ce n'était qu'avec des type standard (int, bool, string...) donc je ne sais pas si cela fonctionnera mais bon essaie quand même et tiens nous au courant

    Regarde de ce coté : Convert.ChangeType(A,B)
    Je ne pense pas que ce soit ce qu'il veut.
    Je pense plutôt qu'il veut instancier un objet du type qui est dans sa chaine de caractère.
    Un bon début ici :
    http://emerica.developpez.com/dotnet...uction/csharp/

  5. #5
    Rédacteur
    Avatar de Louis-Guillaume Morand
    Homme Profil pro
    Cloud Architect
    Inscrit en
    Mars 2003
    Messages
    10 839
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Cloud Architect
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2003
    Messages : 10 839
    Par défaut
    Citation Envoyé par ketan Voir le message
    Bonjour,



    Je ne pense pas que ce soit ce qu'il veut.
    Je pense plutôt qu'il veut instancier un objet du type qui est dans sa chaine de caractère.
    Un bon début ici :
    http://emerica.developpez.com/dotnet...uction/csharp/
    +1, c'est tout à faire ca. en n'oubliant pas que la reflexion est tout sauf performant et qu'on doit l'éviter lorsque c'est pas vraiment nécessaire

  6. #6
    Expert confirmé
    Avatar de Skyounet
    Homme Profil pro
    Software Engineer
    Inscrit en
    Mars 2005
    Messages
    6 380
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Software Engineer
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 6 380
    Par défaut
    Un truc dans le genre

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Activator.CreateInstance(Assembly.GetExecutingAssembly().GetType("TestConsole.C"));
    Il faut bien préfixer toute la classe avec les namespaces.

    Mais c'est vrai que ça ressemble à une architecture mal pensée.

  7. #7
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    347
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 347
    Par défaut
    Je vous remercie,

    pour l'architecture, c'est qu'en théorie, l'utilisateur aura moyen de créer plus ou moins des Class (y'a une idée de compatibilité avec d'autre système) et donc elles peuvent avoir n'importe quel nom, ici, c'est bien le coté chargement (je sais que te prime à bord ça semble être confus).

    Pour ce qui est de la Reflexion, merci beaucoup, ça résout mon problème parfaitement, chargement à moi de contrôler avant l'existance au non d'un Type.

    Je vous remercie tous et toute

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

Discussions similaires

  1. Réponses: 22
    Dernier message: 19/01/2011, 10h00
  2. [PHP 5.0] instancier une classe avec son nom dans une variable
    Par Nnay_ dans le forum Langage
    Réponses: 1
    Dernier message: 12/02/2009, 12h49
  3. Instancier une classe dont le nom est une variable
    Par bendev dans le forum Langage
    Réponses: 1
    Dernier message: 06/11/2006, 06h01
  4. [Chargement de classe][noms de classe relatifs]
    Par freudy dans le forum Langage
    Réponses: 5
    Dernier message: 21/04/2004, 11h36

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