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 :

Comment déclarer des variables publiques pour tous les formulaires [Débutant]


Sujet :

C#

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    355
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 355
    Points : 118
    Points
    118
    Par défaut Comment déclarer des variables publiques pour tous les formulaires
    Bonjour à tous

    Débutant en C# et pétrit d’une culture VB, je n’ai pas trouvé le moyen de déclarer des variables publiques accessibles dans tous mes formulaires

    En VB, il suffit de les déclarer dans un module.

    Si quelqu’un peut me dire comment faire, cela pourra beaucoup m’aider.
    Merci de votre réponse.

    Claude Azoulai

  2. #2
    Membre éprouvé
    Avatar de neilbgr
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Août 2004
    Messages
    651
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2004
    Messages : 651
    Points : 1 177
    Points
    1 177
    Par défaut
    Citation Envoyé par Claude_Azoulai Voir le message
    pétrit d’une culture VB
    ... c'est ce qui bloque...

    En effet, en développement logiciel orienté objet (ce qui n'est pas le fondement de VB qui est plutôt procédural), il est très peu recommandé d'utiliser les variables dites globales. Voici un point de vue :
    Citation Envoyé par Bertrand Meyer dans Conception et programmation orienté objet
    De tels objets globaux présentent un défi pour notre méthode. La technologie objet est fondée sur la décentralisation, la modularité, l'autonomie.
    Ceci étant dit, le besoin existe, et comment faire en C# ?
    Comme le Microsoft l'a fait a de très nombreuses reprises dans le framework : on déclare une propriété en static dans une classe accessible à tout le monde.
    Exemple de Microsoft : String.Empty
    Donc, on peut faire ainsi :
    Code c# : 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
    public class MonBazar
    {
        private static string _HelloWrold = "Bonjour à tous !";
     
        public static string HelloWorld
        {
            get { return _HelloWrold; }
        }
     
        private static MaClass _InstanceDeMaClass;
     
        public static MaClass InstanceDeMaClass
        {
            get { return _InstanceDeMaClass; }
            set { _InstanceDeMaClass = value; }
        }
     
    }

    Accessible n'importe où :
    Code c# : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    MessageBox.Show(MonBazar.HelloWorld);
    MonBazar.InstanceDeMaClass = new MaClass();
    ...

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    355
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 355
    Points : 118
    Points
    118
    Par défaut
    Merci à neilbgr

    En ce qui concerne la première partie du code, j'ai bien compris qu'il fallait ajouter une classe publique et que, en respectant la syntaxe, on pouvait y mettre toutes les variables que l'on désirait publiques.
    Bien entendu, j'ai essayé et ça a fonctionné.

    En ce qui concerne la seconde partie :
    1 - J'ai pas compris à quoi cela peut servir (je suis vraiment nul)
    2 - Le mot "MaClasse" est refusé car "MaClasse est introuvable"

    Si tu as un peu de temps pour m'éclairer sur cette deuxième partie, j'en serai ravi.

    Claude Azoulai

  4. #4
    Membre éprouvé
    Avatar de neilbgr
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Août 2004
    Messages
    651
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2004
    Messages : 651
    Points : 1 177
    Points
    1 177
    Par défaut
    As-tu un peu de code de ta part afin que je vois ce que tu veux faire ?

    En attendant, on peut dire que la classe MonBazar est équivalant à un module en VB, et que dans cette classe, tu déclares tout ce que tu veux de "globale" en static. Tu accéderas aux éléments globaux en faisant MonBazar.LeNomDeLélementGlobale.

    Forcément, dans mon exemple, la class MaClass étant déclarée nul part, cela pose problème au compilateur. C'était un exemple à ne pas prendre à la lettre, c'était juste pour illustrer mon propos.

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    355
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 355
    Points : 118
    Points
    118
    Par défaut
    Je suis tout à fait enchanté et satisfait de ton aide.
    C'était l'objet de ma question et tu y as répondu parfaitement.
    Je vais pouvoir continuer dans ma petite connaissance du C#.

    Claude Azoulai

  6. #6
    Membre éprouvé
    Avatar de neilbgr
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Août 2004
    Messages
    651
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2004
    Messages : 651
    Points : 1 177
    Points
    1 177
    Par défaut
    Ne pas oublier de cliquer sur le bouton si tout est ok !

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

Discussions similaires

  1. [AC-2007] Comment déclarer une variable publique à partir d'un formulaire ?
    Par Dr Rodney Mckay dans le forum IHM
    Réponses: 2
    Dernier message: 27/07/2009, 21h30
  2. Comment définir une variable connu par tous les évènements
    Par whitespirit dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 17/06/2008, 14h55
  3. Dédié : affichage des erreurs php pour tous les domaines
    Par renaud26 dans le forum Administration système
    Réponses: 2
    Dernier message: 30/05/2008, 17h14
  4. [Debutant]Comment déclarer des variables dans un fichier a part
    Par megapacman dans le forum Général Java
    Réponses: 14
    Dernier message: 14/01/2008, 13h32
  5. [Débutant] Comment déclarer des variables et un vecteur ?
    Par valanscu77 dans le forum Assembleur
    Réponses: 4
    Dernier message: 27/03/2007, 18h25

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