ПРИМЕЧАНИЕ: XMLIgnore НЕ является ответом!
ОК, поэтому, следуя моему вопросу о Сериализации XML и унаследованных типах , я начал интегрировать этот код в свое приложение, над которым я работаю, тупо думая, что все будет хорошо ..
У меня возникли проблемы с парой классов, которые реализуют IEnumerable и ICollection
Проблема с этим заключается в том, что когда XMLSerializer приходит для их сериализации, он рассматривает их как внешнее свойство, и вместо использования свойства, которое мы хотели бы (например, с нашим AbstractXmlSerializer ) он приходит сюда и падает (из-за несоответствия типов), в значительной степени возвращая нас к исходной точке. Вы не можете также декорировать эти методы атрибутом XmlIgnore , поэтому мы не можем остановить его таким образом.
Мое текущее решение состоит в том, чтобы убрать реализацию интерфейса (в этом текущем приложении это не имеет большого значения, просто сделал код красивее).
Нужно ли проглотить мою гордость за это и признать, что это невозможно? Я знаю, что я немного подтолкнул и получил больше от XmlSerializer, чем ожидалось от него:)
Редактировать
Я должен также добавить, я в настоящее время работаю в framework 2.
Обновление
Я принял ответ lomaxx . В моем сценарии я не могу на самом деле сделать это, но я знаю, что это будет работать. Так как других предложений не было, в итоге я удалил реализацию интерфейса из кода.