C# 深拷贝

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

namespace Extend
{
    //
    // 摘要:
    //     深拷贝类
    public static class Clone
    {
        // Deep clone
        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);
            }
        }
    }
}

参考:https://stackoverflow.com/questions/129389/how-do-you-do-a-deep-copy-of-an-object-in-net

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容