1
我正在實現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);
}
}
以上是通用的克隆方法,使用,如果你知道你的目標是datacontract序列化,或者如果XML序列化可以使用XmlSerializer的
,是有將複製我保存舊值的通用方法現有的對象,我不想改變他的參考! 因此,如果我想將他推回來,我該怎麼辦? – 2009-07-30 13:17:53