我有一个标记为Serializable
的基类,以及标记为Serializable
的派生类。我希望在反序列化期间在基类中执行某些操作,因此声明了一个标记为OnDeserializing
的方法,但重要的是此方法将在任何派生类的OnDeserializing
方法之前执行。
派生类也可能由其他人编写。
我可以依赖基类的方法在派生类中的任何序列化方法之前调用吗?
我会用SoapFormatter
。
答案 0 :(得分:2)
我要走出去,并说它可能会首先找到派生的方法,而不是基于我所见的使用反射用于其他目的的基本方法。我建议您可能希望显式调用子进程的基本行为,而不是依赖于使用该属性标记的方法的任何顺序。如果较低级别的对象是可直接实例化的,而不是抽象的,因此也可能具有OnDeserializing标记的方法,您可能需要设置标志以指示该级别是否已被处理。