仅在类声明中将可序列化属性与基类一起使用

本文关键字:属性 基类 一起 序列化 声明 | 更新日期: 2023-09-27 18:30:45

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

[Serializable]
public class TargetInfo:
    PropertyHandler

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

仅在类声明中将可序列化属性与基类一起使用

您有多种选择...如果要序列化扩展基类的类,则还必须使用 Serializable 属性标记该基类。但是,可以将 NonSerialized 属性添加到不希望序列化的基类的成员。

如果这仍然不适合您,您可以通过实现 ISerializable 接口来尝试一些自定义序列化,从而更好地控制序列化的内容。请查看 MSDN 的 .NET Framework 页中的对象序列化,以获取有关此主题的更多帮助。