DataContractSerializer: обработка объектов, тип которых вы не знаете и не имеете доступа - PullRequest
5 голосов
/ 08 декабря 2008

У меня есть класс (назовите его Container), который сериализуется и десериализуется с использованием DataContractSerializer. Класс содержит коллекцию других классов, каждый из которых наследует один и тот же базовый класс (назовите его ContentsBase), но который имеет различные производные классы. Приложению может быть передан сериализованный объект-контейнер, который содержит производные от ContentsBase объекты , реализация которых мне неизвестна или у которых нет доступа к , то есть скомпилированный код не доступен локально. Мне нужно десериализовать этот объект, "игнорируя" типы, о которых я не знаю (мне не нужно их использовать в обоих направлениях).

Можно ли как-нибудь это сделать, кроме как взять сериализованный XML и написать какой-то собственный код, чтобы просмотреть его и удалить неизвестные элементы перед десериализацией, или это мой единственный вариант?

1 Ответ

1 голос
/ 26 ноября 2010

Сериализация суррогатов и сериализация связующего

...