Bonjour,
Quelle la façon la plus simple de cloner un objet?
L'objet en question contient des listes, et des listes de listes d'ou la difficulté de faire les choses à la main
Merci
Version imprimable
Bonjour,
Quelle la façon la plus simple de cloner un objet?
L'objet en question contient des listes, et des listes de listes d'ou la difficulté de faire les choses à la main
Merci
Je dirais plutôt, "d'où la difficulté de le faire automatiquement"... à la main c'est pas difficile
Tout dépend du type de clonage que tu veux, si c'est une copie "profonde" ou "superficielle". Dans ce dernier cas, tu peux implémenter l'interface ICloneable en appelant la méthode protégée MemberwiseClone :
Mais ça ne copie que les références : par exemple, si ton objet a un champ de type liste, le clone pointera vers la même liste, et non sur une copie de la liste. Si tu veux une copie de la liste, il faut en créer une nouvelle en passant l'original en paramètre. Mais là encore, les 2 listes pointeront vers les même objets (s'ils sont de type référence). Si ce n'est pas ce que tu veux, il faudra encore copier ces objets...Code:
1
2
3
4 public object Clone() { return this.MemberwiseClone(); }
Donc au final, il n'y a pas vraiment de réponse toute faite, tout dépend de ce que tu veux exactement