Contrairement à Java, la réalisation d'une véritable copie profonde d'un objet dans .NET nécessite une approche différente. Ce guide décrit des méthodes efficaces pour créer des copies profondes.
La classe BinaryFormatter
fournit une solution robuste pour la copie profonde dans C #. Cette classe de sérialisation convertit un objet en un flux binaire, qui est ensuite désérialisé pour générer une nouvelle instance d'objet indépendant.
Une méthode d'utilité générique simplifie le processus de clonage profond:
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); } }
La classe cible doit être décorée de l'attribut [Serializable]
.
Assurez-vous que les instructions suivantes sont incluses dans votre fichier source: using
using System.Runtime.Serialization.Formatters.Binary; using System.IO;
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!