基本信息
源码名称:深度克隆demo
源码大小:0.07M
文件格式:.zip
开发语言:C#
更新时间:2024-11-04
友情提示:(无需注册或充值,赞助后即可获取资源下载链接)
嘿,亲!知识可是无价之宝呢,但咱这精心整理的资料也耗费了不少心血呀。小小地破费一下,绝对物超所值哦!如有下载和支付问题,请联系我们QQ(微信同号):813200300
本次赞助数额为: 2 元×
微信扫码支付:2 元
×
请留下您的邮箱,我们将在2小时内将文件发到您的邮箱
源码介绍
using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Runtime.Serialization; using System.Runtime.Serialization.Formatters.Binary; using System.Text; using System.Threading.Tasks; namespace Clone { /// <summary> /// 注:扩展方法必须在静态类中 /// </summary> public static class CloneStatic { /// <summary> /// 深克隆 /// </summary> /// <param name="obj">原始版本对象</param> /// <returns>深克隆后的对象</returns> public static object DepthClone(this object obj) { object clone = new object(); using (Stream stream = new MemoryStream()) { IFormatter formatter = new BinaryFormatter(); try { formatter.Serialize(stream, obj); stream.Seek(0, SeekOrigin.Begin); clone = formatter.Deserialize(stream); } catch (SerializationException e) { Console.WriteLine("Failed to serialize. Reason: " e.Message); throw; } } return clone; } } }