Сериализация C# и событие для привязки данных потеряны.
-
02-07-2019 - |
Вопрос
я уже писал что-то подобное здесь но я хотел бы задать здесь более общий вопрос.
Пытались ли вы сериализовать объект, реализующий INotifyPropertyChanged, вернуть его из сериализации и привязать к DataGridView?Когда я это делаю, у меня нет обновления измененного значения (мне нужно свернуть окна и открыть их обратно).
У вас есть какая-нибудь хитрость?
Решение
Использовать DataContractSerializer
и создайте метод для OnDeserialized
[OnDeserialized]
private void OnDeserialized(StreamingContext c) {}
Это позволит вам вызвать событие PropertyChanged после завершения десериализации.
Другие советы
Уловка иметь свое собственное Событие и его привязка после сериализации работает, но не элегантно, потому что требуется другое событие, которого мне не хотелось бы...
Сериализация интерфейсов усложняется, когда вы имеете дело с объектами, имеющими внутренние состояния.Можете ли вы опубликовать пример кода сериализации, о котором вы говорите?