【发布时间】:2010-04-29 00:09:56
【问题描述】:
我不确定我会以正确的方式解决这个问题。我有一套具有不同类型输出(自定义类型)的应用程序。
例如,我可能有一个名为 Widget 的类型:
Class Widget
Public name as String
End Class
在整个操作过程中,当用户遇到某种情况时,应用程序将获取用户接收到的小部件的输出实例,将其序列化,并将其记录到数据库中并注明类型的名称。
现在,我有其他应用程序做类似的事情,但不是处理小部件,它可能是具有不同属性的一些完全随机的其他类型,但我再次序列化实例,将其记录到数据库,并记下名称的类型。我可能有六种不同的类型,并且预计未来不会有太多其他类型。
说完这一切之后,我有了一个管理界面,可以查看这些日志,并且可以让用户查看已记录的这些数据的内容。 Admin 应用程序引用了所有涉及的类型,并且一些基本的 switch case 逻辑取决于类型的名称,将其转换为原始类型,并将其传递给一些具有基本显示逻辑的处理程序以吐出以可读格式返回数据(每种类型一个显示处理程序)
现在...这一切都很好...
直到有一天,我的模型发生了变化。 Widget 类现在已弃用 name 属性并添加了许多其他属性。当我尝试重构这些数据时,我当然会在管理端得到类型不匹配。
我想知道是否有某种方式,在运行时,我或许可以通过我的代码进行反映,并在那个精确的时刻获取类型定义的快照,将其序列化,并将其与数据一起存储,以便我可以以某种方式将来用它来重建它?
【问题讨论】:
标签: vb.net serialization type-conversion