1.浅表复制
public class LowCopy:ICloneable
{
private string _strb;
public string strb
{
get { return _strb; }
set { _strb = value; }
}
public object Clone()
{
return (object)this.MemberwiseClone();
}
}
在Main函数中调用 LowCopy lowcopy1=new LowCopy();
LowCopy lowcopy2=(LowCopy)lowcopy1.Clone();
2.深复制
public class LowCopy:ICloneable
{
private string _strb;
public string strb
{
get { return _strb; }
set { _strb = value; }
}
public object Clone()
{
return (object)this.MemberwiseClone();
}
}
public class HigthCopy:ICloneable
{
private string _strHight;
private LowCopy lowcopy;
public HightCopy()
{lowcopy=new LowCopy();}
public object Clone()
{
HightCopy hc=new HightCopy();
hc.lowcopy=(LowCopy)this.lowcopy.MemberWiseClone();
hc._strHight=this._strHight;
return (object)hc;
}
}