是否可以在紧凑型框架中深度克隆对象?我希望使用 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);
}
}
关于c# - Compact Framework 中的深度克隆,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1676941/