Десериализация более новой версии объекта из более старой версии объекта

Предположим, у меня был этот класс:

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

Есть ли способ установить свойство по умолчанию при десериализации, если оно не найдено в старом сериализованном объекте?

Один из способов, о котором я думал, - это сохранить старую версию класса, затем проверить сериализованную версию, затем зациклить свойства старого объекта и установить их в новом объекте, но для меня это не имеет смысла, любое другое решение, которое имеет смысл ?

Ответы на вопрос(2)

Ваш ответ на вопрос