假设我有一个布尔DP,默认值为False,寄存器回调OnDPChanged。每次应用程序退出时,DP都会被序列化。在应用程序启动时,我反序列化DP。 OnDPChanged会在哪些情况下开火?
如果我的理解是正确的,那么在每次启动时都会使用默认值创建DP。之后应用新的反序列化值,如果它与默认值不同,则触发回调???
答案 0 :(得分:0)
这取决于您如何序列化。 XML序列化程序序列化属性。这意味着它例如使用Text
的{{1}}属性。但是,二进制序列化程序序列化(私有)字段。
当序列化属性时,使用属性设置器,是的,事件将触发。当字段被序列化时,原始内部数据将被设置而不通过设置器,并且对象将不知道它们已被设置,因此它不能触发事件。