修改可序列化类并读取.NET的旧一代数据
我有一个结构,当前定义为修改可序列化类并读取.NET的旧一代数据,.net,serialization,.net,Serialization,我有一个结构,当前定义为 [Serializable] public struct PointMap { public PointMap( double point, double distance ) { Point = point; Distance = distance; } public double Point; public double Distance; } 我想将它修改为一个类,实现ISerializa
[Serializable]
public struct PointMap
{
public PointMap( double point, double distance )
{
Point = point;
Distance = distance;
}
public double Point;
public double Distance;
}
我想将它修改为一个类,实现ISerializableObject,添加一个标签,并且仍然能够读取作为上述结构保存的数据。像这样的
[Serializable]
public class PointMap : ISerializable
{
public PointMap( double point, double distance )
{
Point = point;
Distance = distance;
}
public void GetObjectData( SerializationInfo info, StreamingContext context )
{
...
}
private string _label;
public double Point;
public double Distance;
}
现在,是否可以在GetObjectData()
中编写能够理解旧序列化对象的内容,或者以某种方式将类的旧版本映射到自定义反序列化程序?
我们正在使用.NET4.0