【发布时间】:2012-04-02 21:45:06
【问题描述】:
我有一个可序列化的 Message 类,它有一个 Data As Object 属性,我将其用作通用持有者,以便通过使用推送技术和/或 IPC 组合的系统发送信息以与任何其他对该信息感兴趣的程序。这允许通信部分不知道它传输的信息。
我将这个Data As Object 序列化为Byte[],因为我担心Object 在网络上被序列化和传输会如何表现。但是,在反序列化时,我收到有关无法找到存储在我的 Data As Object 属性中的类型的程序集的错误,因为我在包含 Message 类的程序集中反序列化...而不是包含该类型的程序集Data As Object 原来是。包含正在传输的信息描述的程序集存在于双方(虽然,我还没有弄清楚我将如何优雅地处理版本控制)。
直接发送Object 会更好吗?我想知道我是否会丢失类型信息并且无法在另一端将其转换回我想要的类型。也许在它不知道我的类型的情况下,不可能通过另一个程序集将类型作为 Object 传递?
我很有可能以完全错误的方式解决问题。替代品欣然接受。谢谢!
【问题讨论】:
标签: .net vb.net serialization casting