Bonjour,
je veux partager une chaine de caractere, (un string), je veux que toute les forms puissent récuperer ce string, aidez moi svp, merci beaucoup
Version imprimable
Bonjour,
je veux partager une chaine de caractere, (un string), je veux que toute les forms puissent récuperer ce string, aidez moi svp, merci beaucoup
salut
tu fais un truc du genre :
Code:
1
2
3
4
5 public static class MesConstantes { public const string MaPremiereConstante = "Youhou"; }
Et voila ?
Dans les autres classes, tu feras : MesConstantes.MaPremiereConstante pour l'utiliser :)
The Monz, Toulouse
C'est valable aussi si la chaine n'est pas constante :
Tu y accèdes de la même façon : VariablesGlobales.UneVariableCode:
1
2
3
4 public static class VariablesGlobales { public static string UneVariable = "Coucou"; }
C'est pourtant un sujet qui revient souvent!
la FAQ est là!
Bonsoir,
Je préfére personnellement encapsuler la classe statique.Code:
1
2
3
4
5 internal static class MesConstantes { public static string MaPremiereConstante = "Youhou"; }
Il vaut même mieux mettre la chaîne en question dans les settings de l'appli, ça permet d'avoir en un seul endroit toutes les constantes de l'appli.
Surtout qu'on parle ici de forms et de chaînes de caractères, qui sont probablement affichées dans l'UI, et que l'on peut envisager de localiser par exemple.
Ça n'a d'intérêt que suivant l'utilisation qui va avec. Juste pour prendre un exemple, si tu as une seule assembly et que c'est un exécutable autonome, mettre la classe en internal ne sert à rien :)
Donc dis comme ça cela ne sert à rien puisque tout dépend de l'utilisation qui en sera faite ;)
Je ne suis pas de cet avis... les settings ne permettent de stocker que certains types de données, et souvent ça n'aurait fonctionnellement aucun sens : par exemple, une liste de documents ouverts, à laquelle tu veux pouvoir accéder dans toute l'application, n'a rien à faire dans les settings
Pour moi les settings doivent être réservés à ce que l'utilisateur doit pouvoir modifier
Perso, je stocke ce genre de chose dans des classes singleton.
Cela permet de regrouper les éléments globaux avec un peu plus de souplesse qu'une simple variable statique (par exemple s'il existe des cas ou le contenu de la variable ne peut pas être utilisé dans le contexte actuel de l'application).
Bonsoir,
En fait je part du principe que l'on peut modifier l'état de l'application par l'intermédiaire d'un programme externe et c'est pas forcément une bonne chose si l'état en question n'est pas prévu. Sinon en effet il n'est pas nécessaire de s'en préoccuper si l'effet sur l'application est faible.