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 ?