【发布时间】:2012-04-19 22:42:23
【问题描述】:
我有这门课
[Serializable]
public class myClass() : ISerializable
{
public int a;
public int b;
public int c;
public void GetObjectData(SerializationInfo info,
StreamingContext context)
{
// Some code
}
public myClass(SerializationInfo info,
StreamingContext context)
{
// Some code
}
}
我的数据库中有数百个这样的对象。我现在准备发布我的应用程序的新版本,其中的类已演变为
[Serializable]
public class myClass() : ISerializable
{
public int a;
public string b;
public int c;
public bool d;
public void GetObjectData(SerializationInfo info,
StreamingContext context)
{
// Some code
}
public myClass(SerializationInfo info,
StreamingContext context)
{
// Some code
}
}
如何使用第二个版本的反序列化构造函数反序列化基于第一个版本序列化的对象。
是否还有未来版本校对我的第二版课程的策略?
【问题讨论】:
-
制作一个转换器程序,读取第一种类型的对象,生成第二种类型的对象,并用新的替换旧的。如果您谈论的是数百条而不是数百万条记录,那么运行该程序应该需要很长时间。
-
有一篇关于它的专用 MSDN 文章。最好从那里开始:msdn.microsoft.com/en-US/library/ms229752%28v=vs.90%29.aspx
标签: c# .net serialization