IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB.NET Discussion :

Récuperer attribut d une classe conteneur


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2010
    Messages
    89
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 89
    Par défaut Récuperer attribut d une classe conteneur
    Bonjour,
    je viens chercher de l aide, ne sachant par ou passer


    j ai une classe A ayant comme attribut X,Y,Z et classe B comme suit :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    Class A
      public x as integer
      public y as integer
      public Z as integer
      public classes_B as new list(of B) 
     
     'methodes....
      'fonctions ...
     
    End class
     
    Class B
      'attributs
      'methodes
      'fonctions
    end Class
    Pour les besoin de l application j ai besoin que les objets B utilisent les attributs x,y,z ( ceux ci etant dynamique et pouvant etre modifié par A a tout moment )


    j ai la possibilité en utilisant une procedure ou property dans A de modifier toutes les instances de X Y Z contenu Dans B( via list (of ) ) si je les copie a la creation d un B
    mais ca ne me plait pas : il faut dupliquer X Y et Z autant de fois qu il y a d elements dans la liste ( puis parcourir la liste a chaque changement pour modifier tous les attribut X y Z )


    je cherche quelque chose de plus propre
    il doit etre possible d avoir une sorte de get() en place dans B permettant d accéder en lecture aux attributs X Y Z

    j avais pensé a placer X,Y,Z dans une classe a part en singleton ( je sais que c pas vraiment fait pour ca ... )
    s'qui aurai pu marcher sauf que j aurais plusieurs instances de A

    avez vous une idée ?? ( ca me permettra de progresser en plus )

  2. #2
    Membre chevronné Avatar de Jerede
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mai 2010
    Messages
    271
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mai 2010
    Messages : 271
    Par défaut
    Met une référence vers l'instance de A dans ta classe B ?

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2010
    Messages
    89
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 89
    Par défaut
    merci de la réactivité

    Met une référence vers l'instance de A dans ta classe B ?
    passer par référence tu veux dire ?
    j ai essayer, mais quand je modifiais dans A ( ca n étais pas impacté dans les objet B ) mais je m y suis surement mal pris ....

    pourrais je avoir un exemple ? ( succinct ou un lien ... )

  4. #4
    Membre chevronné Avatar de Jerede
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mai 2010
    Messages
    271
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mai 2010
    Messages : 271
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
     
    Class A
      public x as integer
      public y as integer
      public Z as integer
      public classes_B as new list(of B) 
     
     'methodes....
      'fonctions ...
     
    End class
     
    Class B
      private instance as A
     
     Sub New(instance as A)
        Me.instance = instance 
     End sub
     
    End Class

    Une autre possibilité est que tes objets b s'abonne à un évenement de A (OnFieldValueChanged par exemple)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    Class A
      public x as integer
      public y as integer
      public Z as integer
      public classes_B as new list(of B) 
     
     public Sub Add(B instance)
       AddHandler Me.OnXValueChanged, Sub(value as Integer) instance.X = value
     ...etc..
     End Sub
     
    End class

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2010
    Messages
    89
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 89
    Par défaut
    MERCI

    tu viens de me faire découvrir quelque chose ...
    c'est chouette

    je teste dans la soirée en espérant que ca fonctionne (mais je n en doute pas un instant ).
    je pense me pencher vers ta première option ..
    elle me semble plus directe

    encore merci


    edit :
    bon la methode engendre un dépassement de capacité
    s'qui est logique : une classe qui instancie un objet qui récupère la classe qui reinstancie des objets .... etc etc
    solution : j ai créé une classe contenant les 3 valeurs qui sont ensuite envoyé comme decrit si dessus ...
    la plus de pb, vérification faite ca fonctionne

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Récuperer attributs d'une classe action
    Par carkiasis dans le forum Struts 1
    Réponses: 0
    Dernier message: 17/11/2008, 14h29
  2. [POO] retourner les attributs d'une classe
    Par ozzmax dans le forum Langage
    Réponses: 10
    Dernier message: 12/01/2006, 00h10
  3. Réponses: 2
    Dernier message: 27/03/2005, 16h09
  4. [VB.NET] Parcourir les attributs d'une classe
    Par pasqwal dans le forum Windows Forms
    Réponses: 3
    Dernier message: 15/02/2005, 09h47
  5. Réponses: 7
    Dernier message: 08/01/2005, 13h24

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo