3
是否可以在精简框架中深入克隆对象?我希望使用IClonable和memberwiseclone(),但是这只能执行浅拷贝。精简框架中的深入克隆
有关如何执行此操作的任何想法,请使用C#2.0?
非常感谢,
莫里斯
是否可以在精简框架中深入克隆对象?我希望使用IClonable和memberwiseclone(),但是这只能执行浅拷贝。精简框架中的深入克隆
有关如何执行此操作的任何想法,请使用C#2.0?
非常感谢,
莫里斯
我已经让我的对象序列化[Serializable()]
和使用下面的方法实现了深刻的对象复制。
public static ObjectType CopyObject<ObjectType>(ObjectType oObject)
{
XmlSerializer oSeializer = null;
// Creates the serializer
oSeializer = new XmlSerializer(oObject.GetType());
//Use the stream
using (MemoryStream oStream = new MemoryStream())
{
// Serialize the object
oSeializer.Serialize(oStream, oObject);
// Set the strem position
oStream.Position = 0;
// Return the object
return (ObjectType)oSeializer.Deserialize(oStream);
}
}
伙计们, 谢谢你的建议,大加赞赏。 Cheers Morris – Morrislgn 2009-11-06 08:46:06
只要小心,XML序列化不会处理别名或循环。 – 2011-10-17 22:18:30