C#中控件的tag属性存储的是类的实例,怎么深复制
展开全部
如果类不复杂的话重写clone,在clone中new一个实例,并把需要拷贝的内容逐一复制。
如果复杂的话可以考虑用序列化和反序列化来实现
如果复杂的话可以考虑用序列化和反序列化来实现
追问
能大概给个例子吗
追答
class A
{
public int a;
public double b;
public string c;
public A Clone()
{
A newobj = new A();
newobj.a = this.a;
newobj.b = this.b;
newobj.c = this.c;
return newobj;
}
public A CloneBySerialize()
{
BinaryFormatter formater = new BinaryFormatter();
using (Stream srcStream = new MemoryStream())
{
formater.Serialize(srcStream, this);
srcStream.Seek(0, SeekOrigin.Begin);
return formater.Deserialize(srcStream) as A;
}
}
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询