在“CLR In C#”一书中,我看到了以下摘录:
如果派生类型中没有任何附加字段,因此没有特殊的序列化/反序列化需求,那么您根本不需要实现ISerializable。与所有接口成员一样,GetObjectData 是虚拟,将被调用以正确序列化对象。此外,格式化程序将特殊构造函数视为“虚拟化”。也就是说,在反序列化期间,格式化程序将检查它试图实例化的类型。如果该类型不提供特殊构造函数,则格式化程序将扫描基类,直到找到实现特殊构造函数的基<e
我有一个类,它使用对象序列化程序来序列化属性。类是从另一个类派生的,如下所示public class TargetInfo:当我调用序列化方法时,序列化程序也尝试序列化PropertyHandler类,并抛出不同的异常,因为PropertyHandler类不符合序列化规则。如何避免PropertyHandler的序列化
Even more properties ...这些类需要序列化为XML。现在,只需在类声明的前面指定[Serializable]即可完成,默认的XML序列化程序可以很好地工作。然而,在现实中,有多个从基类继承的类。我的目标是使基类能够使用任何派生类的序列化XML。
我尝试过两种方法,但目前这两种方法都没有效果。首先,使用本机XML序列化程序和基类<