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

C# Discussion :

ArrayList : Acces aux sous-elements


Sujet :

C#

  1. #1
    Membre du Club Avatar de Laeticia
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    98
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 98
    Points : 52
    Points
    52
    Par défaut ArrayList : Acces aux sous-elements
    Bonjour j'ai une ArrayList qui contient des Objets.
    Le problème suivant est que si je fais un :

    Console.WriteLine(liste[0]);

    Elle m'affichera mon objet ! logique

    j'aimerai accéder aux différentes propriétés que contient mon objet, mais je ne sais pas comment faire

    Merci d'avance

    ici un schéma explicatif


  2. #2
    Membre actif Avatar de Gulix
    Inscrit en
    Septembre 2005
    Messages
    268
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Septembre 2005
    Messages : 268
    Points : 273
    Points
    273
    Par défaut
    je vois deux choix :

    - utiliser les génériques : tu indiques que ta liste ne contient toujours que le même type d'éléments (List<MaClasse> liste = new List<MaClasse>()), et à partir de là, tu peux faire liste[0].MaPropriété

    - préciser le type : en faisant (MaClasse liste[0]).MaPropriété tu peux accéder à tes éléments
    "L'univers... on croit qu'il est infini mais quand on arrive au bout un gorille géant vous balance des tonneaux."
    Phillip J. Fry

    http://www.gulix.fr/

    BlindShark, Logiciel de Blind Test - Pull N' Bounce - Jeu XNA

  3. #3
    Membre du Club Avatar de Laeticia
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    98
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 98
    Points : 52
    Points
    52
    Par défaut
    en fait le problème (qui n'en est peut etre pas un, mais qui l'est pour moi ) c'est que j'ai une DAL, qui me renvoie déjà une List<Eleve>.
    Mais je transmets ces données à un Projet business, qui lui récupère ces élements, effectue quelques traitements, et ajoutes ces propriétés modifiées, dans une ArrayList pour pouvoir justement, dans un autre projet, Ne pas avoir à importer la DAL, et la business, mais uniquement la business.
    Alors pour le moment je bloque à ce niveau

    Merci d'avance

    (j'espere ne pas avoir été trop brouillon dans l'explication )

  4. #4
    Membre actif Avatar de Gulix
    Inscrit en
    Septembre 2005
    Messages
    268
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Septembre 2005
    Messages : 268
    Points : 273
    Points
    273
    Par défaut
    (j'espere ne pas avoir été trop brouillon dans l'explication )
    J'ai pas trop compris l'histoire du DAL et du Business, mais c'est pas grave

    Quand tu veux utiliser ton objet, au final, de quel type est-il ? Eleve, autre ?
    Disons qu'il est de type monType. Dans ce cas-là, il suffit de faire

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Console.WriteLine((monType) liste[0]).adresse);
    si monType dispose de la propriété adresse, c'est bon normalement. Les objets ajoutés dans le ArrayList sont typés au départ, il suffit de retrouver leur type pour l'utiliser. Si c'est le type DAL.Eleve, il faudra réutiliser ce type.
    "L'univers... on croit qu'il est infini mais quand on arrive au bout un gorille géant vous balance des tonneaux."
    Phillip J. Fry

    http://www.gulix.fr/

    BlindShark, Logiciel de Blind Test - Pull N' Bounce - Jeu XNA

  5. #5
    Rédacteur
    Avatar de Thomas Lebrun
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    9 161
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 9 161
    Points : 19 434
    Points
    19 434
    Par défaut
    Tu ne peux pas tout simplement modifier ton Projet business pour qu'il utilise une List<Eleve> plutôt qu'une ArrayList ?

    Sinon, la solution de Gulix est la bonne

  6. #6
    Membre du Club Avatar de Laeticia
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    98
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 98
    Points : 52
    Points
    52
    Par défaut
    Citation Envoyé par Thomas Lebrun
    Tu ne peux pas tout simplement modifier ton Projet business pour qu'il utilise une List<Eleve> plutôt qu'une ArrayList ?

    Sinon, la solution de Gulix est la bonne
    en fait c'est plus simple que ça

    j'ai modifié comme l'a suggéré gulix mon ArrayList en une liste fortement typée, mais plus une liste d'élève, mais de membre (classe présente dans le projet business), du coup lorsque j'attache ma classLibrary, dans mon projet console ou web, j'accède à tous mes objets nickel

    Merci à vous

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

Discussions similaires

  1. [DOM] Accès aux sous éléments
    Par alamako dans le forum Format d'échange (XML, JSON...)
    Réponses: 7
    Dernier message: 27/11/2012, 17h50
  2. [D7Pro] Assembler et acces aux sous objets
    Par megs dans le forum Langage
    Réponses: 8
    Dernier message: 14/03/2012, 15h30
  3. Bloquer l'accés aux sous-répertoires
    Par kanaziwok dans le forum Langage
    Réponses: 33
    Dernier message: 18/03/2010, 18h23
  4. Réponses: 1
    Dernier message: 23/08/2009, 16h56
  5. Logs des Accès aux Sous-Repertoires
    Par cirano dans le forum Apache
    Réponses: 2
    Dernier message: 04/02/2008, 16h27

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