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

[Résolu]
Signaler
Messages postés
11
Date d'inscription
mercredi 31 octobre 2007
Statut
Membre
Dernière intervention
4 mars 2011
-
Messages postés
11
Date d'inscription
mercredi 31 octobre 2007
Statut
Membre
Dernière intervention
4 mars 2011
-
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

Messages postés
834
Date d'inscription
samedi 15 novembre 2008
Statut
Membre
Dernière intervention
14 janvier 2017
32
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!
Messages postés
11
Date d'inscription
mercredi 31 octobre 2007
Statut
Membre
Dernière intervention
4 mars 2011

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
Messages postés
834
Date d'inscription
samedi 15 novembre 2008
Statut
Membre
Dernière intervention
14 janvier 2017
32
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!
Messages postés
11
Date d'inscription
mercredi 31 octobre 2007
Statut
Membre
Dernière intervention
4 mars 2011

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