Masterring Deep Object Copying in .NET: A Practical Guide
Création d'une vraie copie d'un objet dans .NET, y compris tous les objets imbriqués, nécessite une copie profonde. Contrairement à l'approche plus simple de Java, .NET nécessite une stratégie plus nuancée. Ce guide détaille une méthode efficace.
Une solution commune et robuste utilise une méthode d'utilité générique pour le clonage profond:
<code class="language-csharp">public static T DeepClone<T>(this T obj) { using (var ms = new MemoryStream()) { var formatter = new BinaryFormatter(); formatter.Serialize(ms, obj); ms.Position = 0; return (T)formatter.Deserialize(ms); } }</code>
Exigences clés:
[Serializable]
. <code class="language-csharp">using System.Runtime.Serialization.Formatters.Binary; using System.IO;</code>
Points supplémentaires:
BinaryFormatter
gère les processus de sérialisation et de désérialisation. Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!