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

ASP.NET Discussion :

Gestion de List d'objets !


Sujet :

ASP.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre Expert

    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    1 377
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Octobre 2005
    Messages : 1 377
    Par défaut Gestion de List d'objets !
    Bonjour à tous,

    Y a un truc qui m'embête dans la gestion de mes objets, je peux avoir des choses de ce type :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Rubrique1.SousRubrique1.SouSousRubriques
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Rubrique1.SousRubrique1.SouSousRubrique1.Produits
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Rubrique1.SousRubrique1.Produits
    Sachant qu'une rubrique a une List<SousRubrique>, qu'une Sous-Rubrique a une List<SousSousRubrique> ...

    Quand je rempli mes Objes, je peux avoir à l'intérieur soit des List vide (MaListe.Count=0), soit null, selon mon parcours.

    Exemple :

    Si j'ai un cas où mes produits appartiennent à ma sous-rubrique,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Rubrique1.SousRubrique1.Produits
    que celle-ci ne contienne pas de sous-sous-rubrique, j'aurai dans mon Manager (une list de sous-sous-rubrique vide (initialisé, mais vide) et j'aurai Rubrique1.SousRubrique1.SouSousRubrique1.Produits null (non initialisé) ...

    J'utilise cette arborescence pour construire un menu et j'ai besoin d'identifier mes listes vides et celles qui sont rempli ...

    Et là ça me pose problème puisque certaines List sont identifiés comme non rempli soit en étant null (non initialisé, dans tel cas Count > 0 ne marche pas) soit en étant vide (dans telle cas == null ne marche pas).

    Je m'y prends peut être mal, mais je ne vois pas la (ou les) bonne pratique à utiliser dans cette situation ...

    Merci d'avance.
    Échouer, c'est avoir la possibilité de recommencer de manière plus intelligente.

    Twitter Blog Mon site

    Mon article sur l'agilité

  2. #2
    Membre émérite Avatar de bizet
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2005
    Messages
    717
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2005
    Messages : 717
    Par défaut
    Salut

    je pense que tu dois selon des cas faire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    List<produit>  mylist = null
    et plus loin
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    mysousrublique.produit =  mylist
    et des fois tu dois initialiser ta liste de produits :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    List<produit>  mylist = new list<produit>();
    que tu mets alors dans produit.

    Du coup tu as une fois null une fois une liste vide ; selon les cas...
    Je te conseille de refaire une passe sur tout ton code, surtout la ou tu créé tes listes et de soit tt le temps mettre null, soit mettre liste vide.

    bon courage

    Bizet

  3. #3
    Membre Expert

    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    1 377
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Octobre 2005
    Messages : 1 377
    Par défaut
    Citation Envoyé par bizet Voir le message
    Salut

    je pense que tu dois selon des cas faire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    List<produit>  mylist = null
    et plus loin
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    mysousrublique.produit =  mylist
    et des fois tu dois initialiser ta liste de produits :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    List<produit>  mylist = new list<produit>();
    que tu mets alors dans produit.

    Du coup tu as une fois null une fois une liste vide ; selon les cas...
    C'est ce que j'ai pour l'instant ... Et c'est ce qui m'embête

    Citation Envoyé par bizet Voir le message
    Je te conseille de refaire une passe sur tout ton code, surtout la ou tu créé tes listes et de soit tt le temps mettre null, soit mettre liste vide.

    bon courage

    Bizet
    Ca c'est ce que je voulais éviter de faire
    Je trouvais que ça faisais un peu bricolage, je contourne en faisant du bricolage moins laborieux, mais qui ne me satisfait pas non plus ...

    Ce que je fais c'est de mettre

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    List<produit>  mylist = new list<produit>();
    mylist = null;
    Tu pense qu'il n y a pas mieux à faire ?

    Merci pour ta réponse
    Échouer, c'est avoir la possibilité de recommencer de manière plus intelligente.

    Twitter Blog Mon site

    Mon article sur l'agilité

  4. #4
    Membre Expert Avatar de Arthis
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    1 265
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : Italie

    Informations forums :
    Inscription : Octobre 2003
    Messages : 1 265
    Par défaut
    et pourquoi en pas utiliser du easyLoading là :

    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
    List<Rubrique> _ListSousRubrique
    List<produit>  _Produits
     
    public ListSousRubrique
    {
    get
    {
            if (_ListSousRubrique==null)
                   _ListSousRubrique = new List<Rubrique>();
             return _ListSousRubrique 
    }
     
    public Produits
    {
    get
    {
            if (__Produits==null)
                   _Produits= new List<produit>();
             return _Produits
    }
    Cela devrait t'unifier tous tes appels non?

    [edit] LazyLoading et pas easyLoading... ) [/edit]

  5. #5
    Membre Expert

    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    1 377
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Octobre 2005
    Messages : 1 377
    Par défaut
    Ca s'appel EasyLoading ? Je connais le Lazy loading mais easy loading je trouve rien sur le net dessus.

    En tout cas merci beaucoup pour ta réponse, ça me parait plus propre que ce que je faisais

    [edit] Je me disais bien lol, mais par contre est ce que c'est vraiment du Lazy Loading ? Puisque on fait qu'instancier à vide et non pas charger les données ? [/edit]
    Échouer, c'est avoir la possibilité de recommencer de manière plus intelligente.

    Twitter Blog Mon site

    Mon article sur l'agilité

  6. #6
    Membre Expert Avatar de Arthis
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    1 265
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : Italie

    Informations forums :
    Inscription : Octobre 2003
    Messages : 1 265
    Par défaut
    Effectivement, tu as raison, c'et du lazy creating alors ...

    bon code à toi,

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

Discussions similaires

  1. [Turbo Pascal] Unité Lists : Gestion de listes chaînées d'objets quelconques
    Par Eric Sigoillot dans le forum Codes sources à télécharger
    Réponses: 0
    Dernier message: 07/04/2014, 20h18
  2. Réponses: 1
    Dernier message: 07/04/2009, 00h18
  3. [MySQL] Programmation Objet PHP-Mysql - Comment formaliser la gestion des listes
    Par bacchus41 dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 04/04/2009, 21h33
  4. [Kylix] Composant - Liste d'objet
    Par Metal3d dans le forum EDI
    Réponses: 1
    Dernier message: 13/12/2002, 22h17
  5. liste d'objets
    Par Pierrot dans le forum Langage
    Réponses: 2
    Dernier message: 27/09/2002, 09h56

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