对象深复制深拷贝的方法

时间:2021-08-19 03:10:35

在gof23设置模式中创建型模式中有一种原型模式(克隆),C#通过实现Iclonable接口 实现复制,浅复制通过,this.MemberwiseClone(),那深复制

:可以将引用类型内部继续实现Iclonable接口进行复制,在赋值给变量,但这样若层层包含引用类型,就很麻烦,看到一讲师通过二进制序列化实现

深复制:

案例:

//深复制:
        public regexss ShenFuZhi()
        {
            BinaryFormatter b = new BinaryFormatter();
            using (MemoryStream ms = new MemoryStream())
            {
                b.Serialize(ms, this);
                //反:
                regexss cla = (regexss)b.Deserialize(ms);
                return cla;
            }
        }