Стратегия десериализации класса, изменившегося в.NET

У меня есть этот класс

[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
        }
}

Как можно десериализовать объект, сериализованный на основе первой версии, с помощью конструктора сериализации de -второй.

Существуют ли также стратегии для будущей проверки моей второй версии класса?

6
задан Matt 19 April 2012 в 22:42
поделиться