您的位置:首页 > 其它

深度复制 与 浅度复制

2008-11-05 09:37 239 查看
1.使用受保护的方法System.Object.MemberwiseClone()进行浅度复制。
方法如下:

public class Cloner
public class Content

public class Cloner

public class Content

public class Cloner:ICloneable
public class Cloner:ICloneable
//实现Clone()方法可以实现深层复制
class test:ICloneable
class Program

//IClonable实现深度拷贝,举个例子

public class TDir : IClonable

通用的克隆方法:

/// <summary>
/// 克隆
/// </summary>
/// <returns></returns>
public object Clone()
{
AwbBasic tObject = new AwbBasic();

PropertyInfo[] pTar = this.GetType().GetProperties();
PropertyInfo[] pSour = this.GetType().GetProperties();

foreach (PropertyInfo s in pSour)
{
foreach (PropertyInfo t in pTar)
{
if (s.Name == t.Name)
{
t.SetValue(tObject, s.GetValue(this, null), null);
}
}

}

return tObject;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: