Comment declarez vous vos variables globale ?

Résolu
matlocker
Messages postés
178
Date d'inscription
jeudi 21 février 2002
Statut
Membre
Dernière intervention
30 juillet 2008
- 19 oct. 2005 à 08:31
matlocker
Messages postés
178
Date d'inscription
jeudi 21 février 2002
Statut
Membre
Dernière intervention
30 juillet 2008
- 19 oct. 2005 à 12:19
Bonjour à tous,

J'ai une petite question de méthodologie. Pour les besoins d'une appalication je dois déclarer 3 variables globales. Elles doivent etre accessible depuis n'impote quelle form de mon application.

Et je voudrais savoir comment vous les declariez ?
Je precise que ces variables peuvent changer de valeur et elles sont principalement de type string.

Je pensais faire une classe avec des variables static mais je ne suis pas persuadé que ce soit une bonne méthode.

Merci pour votre aide.

3 réponses

sebmafate
Messages postés
4936
Date d'inscription
lundi 17 février 2003
Statut
Membre
Dernière intervention
14 février 2014
38
19 oct. 2005 à 08:39
ca dépend de ce que tu veux faire en réalité. on en a discuté ici il y a quelques semaines.

2 solutions :
- Classes avec variables statiques
- Singleton

Je préfère de loin le Singleton car il permet de définir des propriétés avec des accesseurs, des évènements... c'est plus "Objet"

Sébastien FERRAND
[MVP C#]
3
MorpionMx
Messages postés
3466
Date d'inscription
lundi 16 octobre 2000
Statut
Membre
Dernière intervention
30 octobre 2008
57
19 oct. 2005 à 08:52
+1 pour le singleton




Au plus basique :


<hr size="2" width="100%">


public sealed Singleton


{


public static Singleton Instance = new Singleton();


private Singleton() {}; // Constructeur privé





public string MaVar1 = "aaa";


public string MaVar2 = "bbb";


}


<hr size="2" width="100%">


Et tu accedes a tes variables comme ceci : Instance.MaVar1;

Mx
3
matlocker
Messages postés
178
Date d'inscription
jeudi 21 février 2002
Statut
Membre
Dernière intervention
30 juillet 2008
1
19 oct. 2005 à 12:19
ok merci je vais deja voir ce que peux m'apporter le singleton.
0