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
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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
Pas de questions techniques par MP ! Le forum est là pour ça...
Tutoriels : Les nouveautés de C# 6 - Accès aux données avec Dapper - Extraction de données de pages web à l'aide de HTML Agility Pack - La sérialisation XML avec .NET (Aller plus loin) - Les markup extensions en WPF
Partager