我有A级,它暴露了一个事件.订阅该活动的B类对象.
这两个实例实际上也是对彼此的定期引用.
我想序列化A,并通过线路传输两个对象,在另一端重建.这样可以正常工作,但不保留事件订阅.
这两个实例实际上也是对彼此的定期引用.
我想序列化A,并通过线路传输两个对象,在另一端重建.这样可以正常工作,但不保留事件订阅.
我想我必须实现自己的序列化构造函数,以便在我的对象被反序列化时“收到通知”,因此它可以重新订阅事件.
但是,看起来这意味着我必须通过实现ISerializable来完全实现自动化.我现在依赖于BinaryFormatter和[Serializable]属性,实际上非常喜欢它.
有没有人知道让我获得反序列化通知的方法,同时仍然可以使用内置的序列化系统来自动序列化&为我反序列化我有点复杂的对象图?
谢谢,卢卡斯
解决方法
标准(非
XML)序列化机制使用特殊属性来标记在(反)序列化期间用作回调的方法.
OnDeserializedAttribute正是您要找的.类似的解决方案是实现
IDeserializationCallback接口.