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 :

Déserialisation non complète d'un objet complexe


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Juin 2008
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 17
    Par défaut Déserialisation non complète d'un objet complexe
    Bonjour,

    Je suis entrain de faire une application permettant de sérialiser/désérialiser un fichier xml.

    L'objet à sérialiser est très complexe :

    Gestion : class
    |___ Instant : class
    _________ List<Etude : class >

    La sérialisation fonctionne très bien. sauf que lors de la déserialisation (du fichier généré par la sérialisation), je récupère l'objet Gestion qui contient l'Instant mais la liste d'Etude est NULL.

    J'ai essayé de sérialiser que la liste des Etudes pour voir si le pb est lié à la liste, mais là, ça marche dans les deux sens.

    Svp, aidez moi, car j'arrive pas à trouver l'origine du pb.

    Rq:
    Mes entités sont décorées d'attributs xml du genre:

    [Serializable()]
    [System.Xml.Serialization.XmlRoot()] pour la racine

    [System.Xml.Serialization.XmlElement()] pour les propriétés

    [System.Xml.Serialization.XmlArray("ListeEtude")] pour la liste des Etudes.


    Merci.

  2. #2
    Membre averti
    Inscrit en
    Juin 2008
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 17
    Par défaut
    Merci tout le monde, mais c'est bon j'ai trouvé le problème.

    En fait, l'une des recommandations dans le code, c'est de mettre seulement un getter pour les propriétés de type List<> afin de la protéger.
    Lancez FxCop sur votre dll et vous verrez la règle.

    SAUF que si on ne met pas le setter le serializer ne peut pas modifier sa valeur en cas de désérialisation.

    Donc pensez à bien spécifier votre setter de LIST si vous allez l'utilisation pour une désérialisation.

    Voilà!

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

Discussions similaires

  1. Travailler / Créer des objets complexes
    Par Ekinoks dans le forum OpenGL
    Réponses: 3
    Dernier message: 22/08/2005, 14h38
  2. texture sous opengl : objets complexes
    Par pouleriguen dans le forum OpenGL
    Réponses: 1
    Dernier message: 20/11/2004, 19h47
  3. Réponses: 4
    Dernier message: 25/09/2004, 09h58
  4. [Regex] reconnaitre une chaîne non complète
    Par EdoBvD dans le forum Collection et Stream
    Réponses: 19
    Dernier message: 13/07/2004, 17h14
  5. [TComPort] -> Pb de trame non complète ?
    Par MaTHieU_ dans le forum C++Builder
    Réponses: 2
    Dernier message: 09/04/2004, 14h22

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