我有一个使用DataContractSerializer进行序列化和反序列化的类(称为Container)。该类包含其他类的集合,所有其他类都继承相同的基类(称为ContentsBase),但是具有不同的派生类。可以向应用程序传递一个序列化的Container对象,该对象包含ContentsBase派生的对象,这些对象的实现我不知道或无法访问 -即,编译后的代码在本地不可用。我需要通过“忽略”我不知道的类型来反序列化此对象(我不需要往返访问它们)。
除了采用序列化的XML并编写一些自定义代码来遍历该序列并在反序列化之前删除未知元素之外,我有什么办法可以做到这一点?还是这是我唯一的选择?