1
我們有一個相當複雜的對象模型,我們需要在特定時間保存當前狀態,並在發生特定問題時將狀態恢復爲它是。幾乎是一個撤消功能。序列化/反序列化對象模型和事件故障
我最初認爲是一個深層複製,但最終只是將模型序列化爲二進制,然後反序列化,如果我們需要的話。這是我第一次做這樣的事情,最初有事件處理程序沒有序列化的問題,我用[field:NonSerialized]屬性解決了這個問題。
但現在的問題是,當模型反序列化時,事件不起作用。
什麼是解決這個問題的最佳解決方案?我遇到了一些解決方案,我可以使用[OnDeserialized()]或實現IDeserializationCallback接口,然後在後續的方法中重新訂閱每個事件。
雖然這看起來好像很多工作,但由於沒有經驗,我只是想檢查一下,在我開始工作之前,這是否正確。
謝謝。
謝謝Jakub。這就是我想和現在正在做的。我想檢查一下我沒有錯過任何明顯的事情。 –