我有一個可序列化的Message
類,它具有一個Data As Object
屬性,我使用該屬性作爲通過使用推送技術和/或IPC與任何其他感興趣的程序進行通信的系統發送的信息的通用持有者在信息中。這可以使通信片段不知道它傳送的信息。作爲對象序列化的類會丟失它們的類型信息嗎?
我正在序列化這Data As Object
作爲Byte[]
,因爲我擔心如何通過網絡序列化和傳輸Object
行爲在另一邊。但是,反序列化時,我得到有關無法找到存儲在我的Data As Object
屬性中的類型的程序集的錯誤,因爲我在包含Message
類的程序集中反序列化...而不是包含Data As Object
最初是類型的程序集。包含正在傳輸的信息的描述的程序集存在於雙方中(儘管我還沒有弄清楚我將如何優雅地處理版本控制)。
直接發送Object
是更好的解決方案嗎?我想知道是否會丟失類型信息,無法將其轉換回另一端所需的類型。也許不可能通過另一個程序集傳遞類型作爲Object
而不知道我的類型?
有一個很好的機會我完全錯誤地接近問題。替代品很樂意接受。謝謝!