C# / passage de parametre par accesseur de la classe principale à un autre class

Résolu
Lune03 Messages postés 11 Date d'inscription mercredi 31 octobre 2007 Statut Membre Dernière intervention 4 mars 2011 - 27 août 2010 à 18:14
Lune03 Messages postés 11 Date d'inscription mercredi 31 octobre 2007 Statut Membre Dernière intervention 4 mars 2011 - 29 août 2010 à 23:20
Bonjour,

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 ?

Ma question est sans doute basique mais je bute.

Cordialement

4 réponses

cs_Robert33 Messages postés 834 Date d'inscription samedi 15 novembre 2008 Statut Membre Dernière intervention 14 janvier 2017 32
27 août 2010 à 23:47
Bonsoir

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.

Bob
C# is amazing, enjoy it!
3
Lune03 Messages postés 11 Date d'inscription mercredi 31 octobre 2007 Statut Membre Dernière intervention 4 mars 2011
28 août 2010 à 12:18
Bonjour,

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.

Bien cordialement
Pascal
0
cs_Robert33 Messages postés 834 Date d'inscription samedi 15 novembre 2008 Statut Membre Dernière intervention 14 janvier 2017 32
29 août 2010 à 22:31
Bonsoir

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.

Bob
C# is amazing, enjoy it!
0
Lune03 Messages postés 11 Date d'inscription mercredi 31 octobre 2007 Statut Membre Dernière intervention 4 mars 2011
29 août 2010 à 23:20
Bonsoir,

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 ...

Merci
Pascal
0