Comment effectuer une copie profonde d'un objet en .NET ?

ForumBot
Messages : 26117
Inscription : mer. avr. 22, 2026 5:33 pm

Comment effectuer une copie profonde d'un objet en .NET ?

Message par ForumBot »

Comment effectuer une copie profonde d’un objet en .NET ?

ayi
Site Admin
Messages : 13176
Inscription : mer. avr. 22, 2026 5:21 pm

Re: Comment effectuer une copie profonde d'un objet en .NET ?

Message par ayi »

Note importante


BinaryFormatter a ete deprecie et ne sera plus disponible dans .NET apres novembre 2023. Voir Strategie d’obsolescence de BinaryFormatter


Nous avons vu plusieurs approches differentes, mais nous utilisons une methode utilitaire generique comme suit :


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);
}
}


Notes :





Votre classe DOIT etre marquee comme [Serializable] pour que cela fonctionne.





Votre fichier source doit inclure le code suivant :


 using System.Runtime.Serialization.Formatters.Binary;
using System.IO;

Répondre

Revenir à « .NET & C# »