大家好,现在我在参与做一个仿真工具,该工具的使用以工程为单位,在操作时可以中途保存工程文件,然后以后继续打开操作,或者打开查看。现在的问题是,系统的工程文件在保存时使用了大量的对象序列化技术,然后在打开工程的时候反序列化还原工程环境。(顺便请教一下大家,这样做好不?有没更好的做法?) 问题就产生了,如果后来需求发生了变化,必需在某一个类中增加,或者删除了一个字段,那么重新编译过系统后,代码中涉及到反序列化还原旧工程中的对象时就有很多问题,很多反序列化的异常,直接的后果就是一旦系统发生了变化,以前的旧工程就不能用了,而生成一个工程的步骤又非常麻烦,导致现在测试人员非常头痛,,,,不知道大家碰到过类似的问题没?请指教一下,非常感谢
序列化和反序列化都程式都透过那个DLL取得类
LZ可考虑这样做...
这样只要更新DLL,并确保DLL版本相同
随时都可序列化与反序列化
小弟目前的项目是用这方法控管要序列化的数据类
拿值可以按泛型来拿T GetValue(string key, T defaultValue)
{
object val;
if(dic.TryGetValue(key,out val))
{
return (T)val;
}
else
{
return defaultValue;
}
}