Sous Visual C# 2008 :
J'ai plusieurs classe dont la principale (Frame du programme) dérive de 'Form' appelé 'Form1', celle-ci est instanciée au lancement de l'application dans le fichier "Programm.cs" par l'instruction "Application.Run(new Form1());", je n'ai donc pas le nom de l'objet ainsi créé.
Dans une autre classe, je voudrais recupérer une variable privée de ma classe Form1 (dont je ne connais pas le nom de l'objet ...), j'ai donc écrit un accesseur 'Get' mais voila comme je ne connais par la reference de l'instance de ma classe principale Form1, je ne sais pas comment faire pour y accéder ?
Si form1 n'est instanciée qu'une seule fois, et toujours au lancement du programme
mets ta variable Public static, comme ça tu pourra y avoir accès depuis l'exterieur.
Merci pour votre réponse.
Avec la déclaration 'static', dans le cas où l'application serais lançais plusieurs fois dans l'OS, je craignais qu'il puisse y avoir un conflit de partage de mémoire, mais à bien y réfléchir, la porté d'une variable 'static' doit s'arrêter à l'application et non au système.
En effet tu as raison, la porté est l'application, donc pas de soucis.
En general, je mets mes variables static globales dans une class spécifique, ou directement dans la class du program.cs ça me parait plus "propre" que dans un class de type form.
je prends note de ces bons conseils : de la rigueur dans l'écriture d'un programme joue en faveur de sa lisibilité et de fait limite sans doute les risques de bug ...