Deserializacja nowszej wersji obiektu ze starszej wersji obiektu

Przypuśćmy, że mam tę klasę:

[Serializable]
public class SomeClass 
{
   public SomeClass() {//init}
   public string SomeString {get;set;}
}

Ta klasa staje się Serializowana, gdy aplikacja zamyka się, i staje się deserializowana przy następnym uruchomieniu.

Następnie zbudowałem go i wydałem aplikację, a teraz klasa się zmieniła:

[Serializable]
public class SomeClass
{
   public SomeClass() {//init}
   public string SomeString {get;set;}
   public int SomeInt {get;set;}
}

Czy istnieje sposób, aby ustawić właściwość na domyślną w deserializacji, jeśli nie zostanie znaleziona w starym serializowanym obiekcie?

Jednym ze sposobów, o których myślałem, jest zachowanie starej wersji klasy, a następnie sprawdzenie wersji, która została serializowana, a następnie zapętlenie właściwości starego obiektu i ustawienie ich w nowym obiekcie, ale to nie jest dla mnie sensowne, każde inne rozwiązanie, które ma sens ?

questionAnswers(2)

yourAnswerToTheQuestion