我正在实现该IEditableObject
接口,并且我想创建一个通用方法,该方法将知道如何在之前克隆对象BeginEdit()
。
我考虑过反射来迭代所有公共属性并将它们复制到缓存对象中。
有人有更好的主意吗?
我正在实现该IEditableObject
接口,并且我想创建一个通用方法,该方法将知道如何在之前克隆对象BeginEdit()
。
我考虑过反射来迭代所有公共属性并将它们复制到缓存对象中。
有人有更好的主意吗?
public object Clone()
{
DataContractSerializer serializer = new DataContractSerializer(this.GetType());
using (MemoryStream memStream = new MemoryStream())
{
serializer.WriteObject(memStream, this);
memStream.Position = 0;
return serializer.ReadObject(memStream);
}
}
上面是通用克隆方法,如果你知道你的对象是数据契约可序列化的,或者如果 xml 可序列化你可以使用 XmlSerializer