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 :

[C#] : Problème de construction de class


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé

    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    175
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 175
    Par défaut [C#] : Problème de construction de class
    Bonjour,

    j'ai un problème dans la construction de ma class 'Entite'

    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
    public class Entite
    {
        // Informations relatives à l'entité
        public type = string.Empty;   // Type de l'entité : utilisateur, entreprise
        Utilisateur utilisateur = null;
        Entreprise entreprise = null;
     
     
        public Entite(string type)
        {
            this.type = type;
     
            switch (this.type)
            {
                case "utilisateur":
                    utilisateur = new Utilisateur();
                    entreprise.
                    break;
                case "entreprise":
                    entreprise = new Entreprise();
                    break;
            }
        }
    }
    - Lorsque je fais Entite entite = new Entite("utilisateur"), je veux empêcher de pouvoir faire entite.entreprise...
    - Et quand je fais Entite entite = new Entite("entreprise"), je veux empêcher de pouvoir faire entite.utilisateur...

    Pouvez-vous m'aider à y parvenir ?

    Merci et bonne journée.

  2. #2
    Invité
    Invité(e)
    Par défaut
    tu peux essayer comme cela:

    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
    public class Entite
    {
        // Informations relatives à l'entité
        public _type = string.Empty;   // Type de l'entité : utilisateur, entreprise
        Utilisateur utilisateur = null;
        Entreprise entreprise = null;
     
     
        public Entite(string type)
        {
            _type = type;
     
            switch (_type.ToLower())
            {
                case "utilisateur": utilisateur = new Utilisateur(); break;
                case "entreprise": entreprise = new Entreprise(); break;
            }
        }
     
      public object getInstanceObjet() {
         if(utilisateur != null) {
              return utilisateur ;
          }
          else if(entreprise != null) {
              return entreprise ;
          }
          else {
             return null ;
          }
      } 
    }
    Bien entendu apres tu accedes à ton objet par GetInstance0bjet, et tu converti l'objet retourner de maniere avoir soit un utilisateur soit une entreprise.

    Pour la convertion tu peux utiliser le mot clé "as" car si la convertion n'est pas possible il te retourne null.

  3. #3
    Membre confirmé

    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    175
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 175
    Par défaut
    Cela ne change rien. A quoi sert la méthode getInstanceObjet() ?

  4. #4
    Membre éprouvé Avatar de Seth77
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Octobre 2005
    Messages
    1 448
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Octobre 2005
    Messages : 1 448
    Par défaut
    slu

    A quoi sert le "_" devant "_type" ?

  5. #5
    Membre confirmé

    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    175
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 175
    Par défaut
    '_' permet d'indiquer que la variable est globale à la class

  6. #6
    Membre éprouvé Avatar de Seth77
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Octobre 2005
    Messages
    1 448
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Octobre 2005
    Messages : 1 448
    Par défaut
    Citation Envoyé par dcollart
    '_' permet d'indiquer que la variable est globale à la class
    Globale a la classe ?!
    Toutes les variables sont globales non ? (en public ou private)

Discussions similaires

  1. Problème héritage et construction de classe
    Par BadThing dans le forum Langage
    Réponses: 18
    Dernier message: 19/08/2010, 17h15
  2. Problème de construction d'une classe
    Par AraBorLeg dans le forum Langage
    Réponses: 2
    Dernier message: 05/12/2005, 19h07
  3. [C#]Problème DirectX SDK & Sprite(Class)
    Par doccpu dans le forum DirectX
    Réponses: 3
    Dernier message: 16/06/2005, 13h30
  4. Problème de construction avec la STL
    Par gelam dans le forum SL & STL
    Réponses: 19
    Dernier message: 01/05/2005, 12h41
  5. [MFC] Problème pointeur sur une classe
    Par mick74 dans le forum MFC
    Réponses: 7
    Dernier message: 14/04/2004, 14h17

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