Bonjour.
Je cherchais une méthode permettant de faire une copie profonde (DeepClone) d'objets en C#.
Sur :
http://www.code-magazine.com/Article...uickid=0601121
J'ai trouvé la méthode suivant qui me parait vraiment chouette :
// C#
Quelqu'un l'a t-il expérimenté ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28 public static object DeepClone( object obj) { // Create a "deep" clone of // an object. That is, copy not only // the object and its pointers // to other objects, but create // copies of all the subsidiary // objects as well. This code even // handles recursive relationships. object objResult = null; using (MemoryStream ms = new MemoryStream()) { BinaryFormatter bf = new BinaryFormatter(); bf.Serialize(ms, obj); // Rewind back to the beginning // of the memory stream. // Deserialize the data, then // close the memory stream. ms.Position = 0; objResult = bf.Deserialize(ms); } return objResult; }
J'aimerai avoir vos critiques sur cette méthode qui me parait parfaite.
Il y a t-il des cas ou cela risque de ne pas marcher ?
Merci pour vos réponses.
Partager