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

Windows Forms Discussion :

[Déserialisation C#] Conserver des références d'object.


Sujet :

Windows Forms

  1. #1
    Membre chevronné Avatar de elbj
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Novembre 2004
    Messages
    371
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Services à domicile

    Informations forums :
    Inscription : Novembre 2004
    Messages : 371
    Par défaut [Déserialisation C#] Conserver des références d'object.
    Bonjour

    J'ai un petit problème avec la sérialisation binaire. Lorsque je sérialise un object contenant la référence à un autre object dans ses propriétés, tout se passe bien. Mais lorsque je désérialise j'obtient un object contenant un autre objet et non plus la référence.

    Pour shématiser :

    J'ai deux classes : A et B
    J'ai deux objets : oA et oB
    Dans A se trouve une propriété de type B
    Dans oA j'ai donc une référence refB à oB
    Lorsque je modifie oB directement, je peux voir cette modification en consultant les propriétés de oA.
    Mais quand je désérialise oA et oB, oA ne contient plus de référence refB à oB mais une copie instanciée de oB. De ce fait oB et oB' sont deux objects différents alors que je souhaite garder la référence lors de la désérialisation.

    J'espère avoir été clair. Quelqu'un peut m'aider ? Merci d'avance.

    Cordialement

  2. #2
    Membre émérite
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    652
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 652
    Par défaut Re: [Déserialisation C#] Conserver des références d'object.
    Citation Envoyé par elbj
    Mais quand je désérialise oA et oB, oA ne contient plus de référence refB à oB mais une copie instanciée de oB. De ce fait oB et oB' sont deux objects différents alors que je souhaite garder la référence lors de la désérialisation.
    Tu ne peux pas, c'est le but.
    Si tu veux absolument pouvoir retrouver un même objet, tu peux modifier la classe sérialisée pour qu'au lieu d'une référence à B, tu stockes des infos te permettant de retrouver B depuis ailleurs.

    Mais les références ne sont pas conservées par la sérialisation, et c'est un peu normal :)

  3. #3
    Membre chevronné Avatar de elbj
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Novembre 2004
    Messages
    371
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Services à domicile

    Informations forums :
    Inscription : Novembre 2004
    Messages : 371
    Par défaut
    Oui oui c'est tout à fait normal qu'une référence d'objet ne soit pas conservée car en dehors de son existance elles ne servent à rien et elles changent à chaque instanciation. En fait je pensai que la sérialisation permettait justement d'aler chercher une nouvelle référence... bref si ça ne le fait pas, c'est à moi de le faire.

    Merci pour cette réponse. Je vais suivre ton conseil.
    Cordialement.

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 20/07/2007, 11h50
  2. [C#] Conserver des valeurs de propriétés d'une page
    Par elod38 dans le forum Windows Forms
    Réponses: 3
    Dernier message: 07/03/2005, 10h53
  3. Gestion des Tables d'Object
    Par Laurent Dardenne dans le forum SQL
    Réponses: 27
    Dernier message: 17/04/2004, 12h39

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