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

Windows Forms Discussion :

[C#] Objet "Globale"


Sujet :

Windows Forms

  1. #1
    Membre éclairé
    Avatar de repié
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    335
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Décembre 2004
    Messages : 335
    Par défaut [C#] Objet "Globale"
    Bonjour

    je suis débutant en C# et je me trouve un peu bloqué dans mon projet.
    Je me demande comment instancier un objet accessible par toutes les classes du projet (sans prendre en compte les questions d'héritge?)

    j'espere que me qyuestion n'est pas top tordue
    merci de votre aide!

  2. #2
    Membre émérite Avatar de zeavan
    Architect
    Inscrit en
    Avril 2003
    Messages
    590
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : Autre

    Informations professionnelles :
    Activité : Architect

    Informations forums :
    Inscription : Avril 2003
    Messages : 590
    Par défaut
    ce que tu veux c'est instancier un objet unique tout au lond de ton application et qu'il soit accessible c'est bien ca ?

    si oui il te faut voir du cote du design patterns singleton .

  3. #3
    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
    Sli

    +1 pour le singleton :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    class maClasse
        {
            private static maClasse _theUniqueInstance = null;
     
            public static maClasse GetInstance()
            {
                //creer une nouvelle instance s il n en existe pas deja une autre
                if (_theUniqueInstance == null)
                    return _theUniqueInstance = new maClasse();
                else
                    return _theUniqueInstance;
            }
    ...................

  4. #4
    Membre éclairé
    Avatar de repié
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    335
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Décembre 2004
    Messages : 335
    Par défaut
    ok ba merci beaucoup!

    Je vais surement m'en sortir grâce à ca

  5. #5
    Membre confirmé Avatar de Pedro Varela
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    84
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 84
    Par défaut
    En fait, je veux faire la même chose quoique un peu different.
    Je veux déclarer une variable du type SqlConnection qui será vue par toute les forms de mon projet. Eh ben, je n'y arrive pas pour 'instant.
    Que dois-je faire?

  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 Pedro Varela
    En fait, je veux faire la même chose quoique un peu different.
    Je veux déclarer une variable du type SqlConnection qui será vue par toute les forms de mon projet. Eh ben, je n'y arrive pas pour 'instant.
    Que dois-je faire?

    Meme reponse "SINGLETON"

  7. #7
    Membre chevronné

    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    481
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Janvier 2006
    Messages : 481
    Par défaut
    Sincerement je ne comprend pas la réponse (pour les 2 questions)
    La classe singleton permet juste de vérifier qu'un objet est instancié 1 seule fois.
    Et la portée d'un objet peut etre controlée sans ce disign pattern ...

    Merci de m'eclairer

  8. #8
    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
    Le singleton permet d'avoir un instance unique d'un objet et permet egalement de le recuperer ....

    cd : http://smeric.developpez.com/java/uml/singleton/

  9. #9
    Membre éclairé
    Avatar de repié
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    335
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Décembre 2004
    Messages : 335
    Par défaut
    Merci de votre aide

    Jusque la, pas de problème pour créer ma classe singleton
    (Métode getInstance public et contructeur privé)

    Mais après ca, pas moyen de l'appeler
    comment faire pour utiliser cette classe?

  10. #10
    Membre chevronné
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    324
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 324
    Par défaut
    elle est static pas besoin de l'instancier :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    maClasse.GetInstance();

  11. #11
    Membre éclairé
    Avatar de repié
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    335
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Décembre 2004
    Messages : 335
    Par défaut
    Je suis désolé c'est pas encore très claire pour moi

    Si je veux utiliser des objets ou des méthodes de cette fameuse classe singleton à partir d'une autre classe, je doit faire?:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    private maClasseSingleton unObjet;
    ou simplement

  12. #12
    Membre éclairé
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    262
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 262
    Par défaut
    Aller fait une public static et c'est regler en une ligne.
    si ca existe faut l'utiliser :p

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