[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
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 :)