Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1337 connectés 

  FORUM HardWare.fr
  Programmation
  C#/.NET managed

  [C#] Utilisation des propriétés

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[C#] Utilisation des propriétés

n°1571593
burtonien
Posté le 07-06-2007 à 15:20:43  profilanswer
 

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é:

Code :
  1. private XmlDocument _xmlContent;
  2.         public XmlDocument _XmlContent
  3.         {
  4.             get
  5.             {
  6.                 return _xmlContent;
  7.             }
  8.         }


 
Et au niveau de l'instanciation:

Code :
  1. public Message ( )
  2.         {
  3.             _specificXmlContent = XmlStructure._InstanceXmlStructure._XmlContent;
  4.         }


 
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...
 
 

mood
Publicité
Posté le 07-06-2007 à 15:20:43  profilanswer
 

n°1571620
masklinn
í dag viðrar vel til loftárása
Posté le 07-06-2007 à 15:47:15  profilanswer
 

ben tu fais une deepcopy de ta variable au lieu de renvoyer une référence dessus [:pingouino]


---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
n°1571886
burtonien
Posté le 07-06-2007 à 21:08:03  profilanswer
 

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...

n°1571977
ixemul
Nan mais sans blague ! ⚡
Posté le 08-06-2007 à 09:39:30  profilanswer
 

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 ;)


---------------
VA APPRENDRE ET REVIENS QUAND TU SAIS, SINON ABSTIENT TOI C'EST UN GRAND CONSEIL QUE JE TE DONNE... TU ES INCOMPÉTENT ET C'EST UNE RÉALITÉ, TU N'AS RIEN A FAIRE ICI FAUT S'Y CONNAITRE ... -Jojo1998 - RIP - http://tinyurl.com/qc47ftk
n°1572020
masklinn
í dag viðrar vel til loftárása
Posté le 08-06-2007 à 10:23:52  profilanswer
 

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...)


Message édité par masklinn le 08-06-2007 à 10:24:00

---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
n°1572180
burtonien
Posté le 08-06-2007 à 12:09:16  profilanswer
 

Ok, merci pour ces explications  :)  
 
Pour info, j'ai réussi à cloner le noeud avec une deep copy. Apparemment le problème est corrigé.


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C#/.NET managed

  [C#] Utilisation des propriétés

 

Sujets relatifs
Aide pour utilisation de jain-sipDemande d'aide pour utilisation gawk
Probleme d'utilisation de l'API C de mysql sous linuxUtilisation d'une fonction..
Utilisation d'instance de classe.[JAVA] export en jar, et utilisation de librairies externes.
Utilisation d'une class de connexion MysqlVoir et éditer les propriétés d'un fichier pdf
[SQL] Utilisation de l'horloge du pc[résolu]Utilisation du logiciel ChSCiTE
Plus de sujets relatifs à : [C#] Utilisation des propriétés


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR