zoukankan      html  css  js  c++  java
  • 深度拷贝 武胜

    定义接口:

    public interface IDeepCloneable<T> where T : class
        {
            T CloneDeep();
        }

    定义类:

    public sealed class AClass : IEquatable<AClass>,
            IDeepCloneable<AClass>
        {

    ....

    //实现

    public AClass CloneDeep()
            {
                return (AClass)this.MemberwiseClone();
            }

    //另一种实现

    public AClass CloneDeep()
            {
                AClass newCfg = new AClass();

                newCfg.m_bEnabled = m_bEnabled;
                newCfg.m_atooObfuscation = m_atooObfuscation;
                newCfg.m_strDefaultSequence = m_strDefaultSequence;

                foreach(AClass1 a in m_lWindowAssocs)
                    newCfg.Add(a.CloneDeep());

                return newCfg;
            }

    }

  • 相关阅读:
    Lua 的元表怎么理解
    Lua中的元表与元方法
    Lua 的元表怎么理解
    VMware Workstation 系统备份-虚拟机克隆方法
    Lua中的元表与元方法
    bzoj2809
    bzoj2733
    bzoj1334
    bzoj1211
    bzoj3083 3306
  • 原文地址:https://www.cnblogs.com/zeroone/p/2742152.html
Copyright © 2011-2022 走看看