Я сохраняю данные с помощью сериализованного класса, теперь я хочу удалить зарегистрированный элемент, который больше не нужен, но старая версия уже была просеризована как файл, как я могу предотвратить исключение, когда новая версия десериализована из файла?Как правильно удалить сериализованное поле в C#?
Кстати, это C# используется в Unity3D, моно версии
[Serializable]
public class UserModel {
// old version
Dictionary<string,int> readyToRemoveDict;
}
[Serializable]
public class UserModel {
//new version
//Dictionary<string,int> readyToRemoveDict;
}
// В gameManager, вот как я спас его
public void SaveData()
{
BinaryFormatter bf = new BinaryFormatter();
FileStream file = File.Create(Application.persistentDataPath + "/user.db");
bf.Serialize(file,userModel);// this is the UserModel
file.Close();
}
Я пытаюсь добавить [OptionalFiled] нет, но все-таки исключение
«Я пытаюсь добавить [OptionalFiled], но до сих пор не исключение» Я думал, что это то, что вы хотели? Не бросать исключение, когда поле не задано. – HimBromBeere