Десериализация более новой версии объекта из более старой версии объекта
Предположим, у меня был этот класс:
[Serializable]
public class SomeClass
{
public SomeClass() {//init}
public string SomeString {get;set;}
}
Этот класс сериализуется при закрытии приложения и десериализуется при следующем запуске.
Затем я собрал его и выпустил приложение, и теперь класс изменился:
[Serializable]
public class SomeClass
{
public SomeClass() {//init}
public string SomeString {get;set;}
public int SomeInt {get;set;}
}
Есть ли способ установить свойство по умолчанию при десериализации, если оно не найдено в старом сериализованном объекте?
Один из способов, о котором я думал, - это сохранить старую версию класса, затем проверить сериализованную версию, затем зациклить свойства старого объекта и установить их в новом объекте, но для меня это не имеет смысла, любое другое решение, которое имеет смысл ?