我不积极我正在以正确的方式进行。我有一套具有不同输出类型(自定义类型)的应用程序。序列化类型定义?
例如,可能我的Widget称为类型:
Class Widget
Public name as String
End Class
在整个操作过程中,当用户遇到一定的条件下,应用程序将利用该用户收到的widget的是输出实例,序列化它,并将其记录到数据库中,记录该类型的名称。
现在,我有其他类似的应用程序,但不是处理Widget,它可能是一些完全随机的具有不同属性的其他类型,但我再次序列化实例,将其记录到数据库,并记下类型的名称。我可能有六种不同类型,未来不会预计会有太多额外的类型。
说完这一切之后,我有一个管理界面,可以查看这些日志,并且可以让用户查看已记录的这些数据的内容。 Admin应用程序对所涉及的所有类型都有引用,并且一些基本的开关事例逻辑取决于类型的名称,将其转换为它们的原始类型,并将其传递给一些具有基本显示逻辑的处理程序以吐出数据以可读格式(每类一个显示处理器)
现在又回到了......这一切都很好...
直到有一天,我的模型改变。 Widget类现在已弃用了name属性,并添加了一大堆其他属性。当我尝试重新构建这些数据时,我当然会在管理员端获得类型不匹配。
我想知道是否有某种方法,在运行时,我可以通过我的代码进行反射,并在该时刻获取类型定义的快照,序列化并将其与数据一起存储,以便我可以以某种方式用它来重建它在未来?