3

我有一个标记的基类Serializable,也标记了派生类Serializable。我想在反序列化期间在基类中做一些事情,因此声明了一个标记为的方法OnDeserializing,但重要的是该方法将在任何派生类的OnDeserializing方法之前执行。
派生类也可能由其他人编写。
我可以相信基类的方法将在派生类中的任何序列化方法之前被调用吗?
我会SoapFormatter

4

1 回答 1

2

我要冒险说它可能会首先找到派生方法,而不是基于我所看到的将反射用于其他目的的基本方法。我建议您可能希望显式调用子级的基本行为,而不是依赖于标记有该属性的方法的任何顺序。如果较低级别的对象是直接可实例化的,而不是抽象的,因此也可能具有 OnDeserializing 标记的方法,您可能需要设置标志以指示该级别是否已被处理。

于 2012-12-01T21:57:24.720 回答