仅在类声明中使用Serializable属性和基类

时间:2013-09-08 15:40:45

标签: c# wpf inheritance xml-serialization object-serialization

我有一个使用对象序列化程序来序列化属性的类。该类派生自另一个类,如下所示

[Serializable]
public class TargetInfo:
    PropertyHandler

当我调用serialize方法时,序列化程序也尝试序列化PropertyHandler类并抛出不同的异常,因为PropertyHandler类不符合序列化规则。如何避免PropertyHandler的序列化并仅序列化TargetInfo?

1 个答案:

答案 0 :(得分:2)

您有许多选项...如果要序列化扩展基类的类,则该基类必须也标有Serializable属性。但是,您可以将NonSerialized属性添加到您 想要序列化的基类成员中。

如果仍然不适合您,您可以通过实施ISerializable界面尝试一些自定义序列化,从而为您提供更多控制以确切序列化的内容。请查看MSDN上的Object Serialization in the .NET Framework页面,获取有关此主题的更多帮助。