-
[C#] Question héritage
Bonjour à tous,
J'utilise 2 formes, frmAncetre et frmFille qui hérite de la précédente.
Dans frmAncetre je réalise des traitements et affecte des valeurs à différentes variables.
Je souhaiterais savoir s'il est possible d'accéder aux valeurs de ces variables depuis frmFille ?
J'ai fait un test mais les valeurs sont celles par défaut et non celles qui sont définies dans le traitement de frmAncetre.
En espérant avoir été assez clair, merci d'avance.
-
Soit tu mets tes variables en statique;
Soit quand ta fenêtre principale appelle le constructeur de ta fenêtre fille, tu modifie le constructeur de cette dernière pour qu'elle puisse recevoir les données dont tu as besoin.
Pour ce qui est de ce que tu as fait, ça ne sert à rien, car chaque fenêtre est une instance... donc évidemment, elles ont leur propre variable.
-
Lorsque j'appelle ma frmFille j'utilise une méthode Execute définie sur frmAncetre à laquelle je passe les paramêtres souhaités.
Etant donné que je vais avoir une multitude de frmFilles dans mon projet je souhaite centraliser une partie commune des traitements sur les paramêtres dans ma frmAncetre. Ces traitements positionnes des variables ou propriétés protected sur frmAncetre que je souhaite pouvoir consulter dans les traitements spécifiques réalisés dans frmFille.
J'ai essayé de passer en static mais sans succès.
-
Je ne comprend pas ce qui ne va pas avec les 2 solutions que je t'ai proposé ?
-
C'est bon, le problème venait de moi.
J'essayais de récupérer les valeurs dans des fonctions appelées depuis le constructeur de mon formulaire hérité. Or celui ci est exécuté avant celui de l'ancêtre ce qui explique que je ne récupérais que mes valeurs par défaut.
J'ai corrigé en ajoutant une fontion virtual appelée dans mon ancêtre que j'override dans la forme dérivée.
Ca marche du feu de dieu !
Merci d'avoir pris le temps de me répondre, bon week-end.
-
N'oublie pas de mettre résolu dans ton sujet stp. :merci: