修改可序列化类并读取.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