[C#] - Connaître l'objet Père d'un objet

Signaler
Messages postés
5
Date d'inscription
vendredi 16 juin 2006
Statut
Membre
Dernière intervention
16 juin 2006
-
Messages postés
296
Date d'inscription
mardi 22 avril 2008
Statut
Membre
Dernière intervention
18 août 2008
-
Bonjour

J'essaie de savoir comment à partir d'un sous objet, je peux retrouver l'objet parent?

Je pensais pouvoir faire :

//Je connais juste le Sous Objet et je souhaite remonter d'un niveau
Parent = SousObjet.Parent;

Si quelqu'un sait si cela est possible ou impossible, merci d'éclairer ma lanterne

Cordialement
TedLaTomate

7 réponses

Messages postés
5
Date d'inscription
vendredi 16 juin 2006
Statut
Membre
Dernière intervention
16 juin 2006

Alors j'ai aussi penser à mettre le nom du parent dans une propriété du fils

ou alors faire une sorte d'arbre de la façon :

http://216.239.59.104/search?q=cache:1IC0RDil8AoJ:www.c2i.fr/code.aspx%3FIDCode%3D518+c%23+sous+objet+objet+parent&hl=fr&gl=fr&ct=clnk&cd=2
Messages postés
5
Date d'inscription
vendredi 16 juin 2006
Statut
Membre
Dernière intervention
16 juin 2006

Bon il semble que le seul moyen soit de créer une propriété Parent dans l'enfant...

http://www.tech-archive.net/Archive/DotNet/microsoft.public.dotnet.framework.clr/2004-05/0053.html
Messages postés
794
Date d'inscription
vendredi 24 septembre 2004
Statut
Membre
Dernière intervention
19 août 2008
9
Qu'est ce que tu veux dire par "parent" ? De quel type d'objet s'agit t il ? (controle graphique, noeud dans une arboresence, classe héritée, objet d'une agrégation...)
Messages postés
5
Date d'inscription
vendredi 16 juin 2006
Statut
Membre
Dernière intervention
16 juin 2006

J'ai une classe Objet qui contient d'autres objets de type classe SousObjetX

Objet.SousObjet1
Objet.SousObjet2

A un moment je suis dans une méthode de SousObjet1
Par conséquent à cet endroit, this représente cet objet,
et il faut que je retrouve à quel Objet appartient le SousObjet1
Messages postés
794
Date d'inscription
vendredi 24 septembre 2004
Statut
Membre
Dernière intervention
19 août 2008
9
Dans ce cas, selon ce que tu veux faire :
- pour appeler une méthode/accéder aux données de l'objet qui référence ton sous objet, tu dois avoir une référence vers lui (par exemple en rajoutant toi même dans ton SousObjet une propriété Parent, que tu initialises à la construction)
- pour que ton objet suive/réagisse à l'état ou aux actions de ton sous objet, tu peux passer par les évènements : ton sous objet déclenche des évènements, ton objet est abonné à ces évènement...

Mais le langage ne te permettra pas de récupérer le "parent" du sous objet, car ce n'est qu'une simple référence. Si cette relation de parenté existe, il faut la créer (avec une propriété Parent, Owner, etc).
Messages postés
5
Date d'inscription
vendredi 16 juin 2006
Statut
Membre
Dernière intervention
16 juin 2006

Merci

je pense que je vais créer une sous-propriété parent, à moins que je puisse identifier une valeur commune aux 2 objets
Messages postés
296
Date d'inscription
mardi 22 avril 2008
Statut
Membre
Dernière intervention
18 août 2008

Est-ce que tu ne pourrais pas passer ton parent dans le constructeur de tes sous objet ?
Genre :

Namespace test
{
  public class parentObject
    {

      private sousObject1 premierFils = new sousObjet1(this);
    
      public parentObject()
      {
         
       }
     
      public void Main()
       {
          }
    }

 public class sousObject1
    {
       private parentObject pere;
       public sousObject1(parentObject createur)
        {
                pere = createur;
         }
...

     }
}