Обновление до Catel 5.0.0 - проблемы с сериализацией - PullRequest
0 голосов
/ 08 февраля 2020

. NET 4.7.2, WPF

У меня есть старый проект, который использовал Catel 4.4.0. Мне нужно обновить его до последней версии. NET и версий пакетов, поэтому я перехожу на Catel 5.0.0 в качестве первого шага. (В конце концов я перейду к последней версии.)

Мои модели под Catel 4.4.0, где все они получены из SavableModelBase, которые включают сериализацию и проверку. Для 5.0.0 похоже, что вы можете иметь SavableModelBase или ValidatableModelBase, но не оба. Я решил изменить все свои классы, чтобы использовать ValidatableModelBase, так как валидация важна для моего проекта.

Я искал примеры загрузки / сохранения моделей с помощью Catel 5.0.0, но несколько примеров, которые я обнаружил, использовали pre -5.0.0 код.

https://docs.catelproject.com/vnext/setup-deployment/update-guides/catel-5.0/ https://catelproject.atlassian.net/wiki/spaces/CTL/pages/15630363/Serializing+data+from+to+disk

Я имел обыкновение использовать:

myModel.Save(myStream, SerializationMode.Xml);
MyModel model = MyModel.Load(myStream, SerializationMode.Xml);

но, конечно, все, что изменилось с 5.0.0.

Есть ли у кого-то ссылки на загрузку и сохранение моделей с помощью Catel 5.0.0? Должен ли я делать это в общем c Microsoft. NET коде? Меня беспокоит то, что у меня есть пользователи с существующими файлами данных, которые должны быть совместимы с обновленным программным обеспечением.

Если у вас есть какие-либо вопросы, пожалуйста, дайте мне знать.

спасибо, Рэнди

1 Ответ

1 голос
/ 08 февраля 2020

SavableModelBase стал просто оберткой с 5.0. ModelBase использует ISerializer, и вы можете просто передать модели в сериализаторы (например, IXmlSerializer).

Я рекомендую немедленно перейти на 5.12, это избавит вас от головной боли.

...