深度复制 与 浅度复制
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;
}
方法如下:
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;
}
相关文章推荐
- C# (值类型/应用类型/内存框图)与对象深度/浅度复制/系列化/反系列化)
- C#之深度复制和浅度复制
- C#中深度复制和浅度复制详解
- [No0000B9]C# 类型基础 值类型和引用类型 及其 对象复制 浅度复制vs深度复制 深入研究2
- java深度复制和浅度复制
- C#读书笔记----浅度复制与深度复制
- ASP.NET深度复制和浅度复制分析
- c#深度复制 浅度复制
- C#读书笔记----浅度复制与深度复制
- C# (值类型/应用类型/内存框图)与对象深度/浅度复制/系列化/反系列化)
- 深度复制与浅度复制
- java深度复制和浅度复制
- 由struct 和class 想到的浅度复制和深度复制 c#
- .NET基础之深度复制和浅度复制
- ASP.NET深度复制和浅度复制分析
- 类对象的深度复制,浅度复制
- C# 类型基础(对象深度/浅度复制)
- C#之深度复制和浅度复制
- 关于浅度复制和深度复制的问题
- java 深度复制与浅度复制的研究