通过序列化进行深层拷贝克隆

时间:2010-10-12 12:07:15

标签: c#

我碰到了这个:

http://www.codeproject.com/KB/tips/SerializedObjectCloner.aspx

并希望用它来深度复制对象图。是否足以用以下方式标记可能参与对象图的所有类:

[Serializable()]

然后按照文章中的建议调用克隆方法?

我怀疑它是如此简单,我可能需要实施更多?!我想在我深入挖掘之前先问专家。

感谢。

基督教

1 个答案:

答案 0 :(得分:0)

SerializableAttribute放在一个类上意味着该对象的所有字段(除了那些用NonSerialized属性的字段)都将被序列化(因此它们本身需要可序列化)。对于足够简单的情况,但对于更复杂的对象,您可能希望查看实现ISerializable,它将透明地使用文章中的代码。这在很大程度上取决于你的具体情况。对于简单的情况,SerializableAttribute本身就足够了。