C# 引用对象深克隆帮助类

//克隆帮助类,可以克隆任意 class 对象

[System.Serializable]
public class ClongHelper<T>:ICloneable where T : class
{
public ClongHelper(T obj)
{
this.Data = obj;
}
/// <summary>
/// 待克隆的数据
/// </summary>
public T Data { set; get; }

/// <summary>
/// 克隆一个相同的实例
/// </summary>
/// <returns></returns>
public object Clone()
{
BinaryFormatter bf = new BinaryFormatter();
MemoryStream ms = new MemoryStream();
bf.Serialize(ms, this);
ms.Seek(0, SeekOrigin.Begin);
return bf.Deserialize(ms);
}
}

----- 例:克隆 person 对象

------ Person 对象

public class Person

{

public int UserId{set;get;}

public stringName{set;get;}

}

----- 克隆调用实例

private void Test1()

{

Person oP= new Person(){id=1,Name="张三"};

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值