Скажем, я создал класс данных некоторое время назад:
[Serializable]
public class MyData
{
public string name;
public string nickname;
public int id;
}
И я использовал BinaryFormatter для сериализации и сохранения данных пользователей в файл.По прошествии времени я решаю, что нам больше не нужно поле «псевдоним», поэтому я удаляю его:
[Serializable]
public class MyData
{
public string name;
public int id;
}
Однако теперь, когда я пытаюсь десериализовать объект, который был сериализован, когда он все еще содержит псевдонимв поле выдается исключение:
System.Runtime.Serialization.SerializationException: поле "псевдоним" не найдено в классе MyData
Есть ли способ сообщить BinaryFormatterчто если он встретит псевдоним поля, чтобы просто проигнорировать его и десериализовать остальные поля как обычно?