Utilisation des propriétés [C#] - C#/.NET managed - Programmation
Marsh Posté le 07-06-2007 à 15:47:15
ben tu fais une deepcopy de ta variable au lieu de renvoyer une référence dessus
Marsh Posté le 07-06-2007 à 21:08:03
Bah justement, je pensais pas que ça renvoyait une référence, mais plutôt une copie de l'objet référencé... En fait nan...
Marsh Posté le 08-06-2007 à 09:39:30
burtonien a écrit : Bah justement, je pensais pas que ça renvoyait une référence, mais plutôt une copie de l'objet référencé... En fait nan... |
http://www.ecma-international.org/ [...] ma-334.pdf
Marsh Posté le 08-06-2007 à 10:23:52
burtonien a écrit : Bah justement, je pensais pas que ça renvoyait une référence, mais plutôt une copie de l'objet référencé... En fait nan... |
Il n'existe aucun langage moderne/sain qui fasse des passages par valeur (donc des copies) pour les gros objets, ils font tous des passages de référence par valeur (ils transmettent une copie de la référence, donc la référence est différente, mais ça pointe sur le même objet), parce que les coûts des copies peuvent être (et sont souvent) monstrueux, alors qu'un passage de référence par valeur a un coût quasi nul (on copie un entier, grosso merdo...)
Marsh Posté le 08-06-2007 à 12:09:16
Ok, merci pour ces explications
Pour info, j'ai réussi à cloner le noeud avec une deep copy. Apparemment le problème est corrigé.
Marsh Posté le 07-06-2007 à 15:20:43
Hello,
Dans une application j'utilise une propriété en lecture seule, me renvoyant un objet. J'utilise cette propriété en instanciant un nouvelle objet. Le problème est que je fais des modifications sur l'objet instancié, et les modifications sont aussi appliquées sur l'objet source de la propriété....
Au niveau de la propriété:
Et au niveau de l'instanciation:
Des que je touche à _specificXmlContent, les changements sont répercutés sur _xmlContent... Je pensais qu'une propriété en lecture renvoyait seulement une valeur, mais là apparemment c'est directement une référence sur l'objet... Pour info, _InstanceXmlStructure est une propriété statique renvoyant un champ lui aussi statique. Peut-être le problême vient de là.
En résumé, j'aimerais que les changements effectués sur _specificXmlContent ne soient pas répercutés sur _xmlContent. Si vous avez des idées, merci d'avance...