В продолжение моего недавнего вопроса о Большие, сложные объекты как результат веб-службы . Я думал о том, как обеспечить, чтобы все будущие дочерние классы были сериализуемыми в XML.
Теперь, очевидно, я мог бы реализовать интерфейс IXmlSerializable и затем привязать к нему читателя / писателя, но я бы хотел этого избежать, поскольку тогда это означает, что мне нужно создавать экземпляр читателя / писателя всякий раз, когда я хочу сделайте это, и в 99,99% случаев я буду работать со строкой , поэтому я могу просто написать свою собственную.
Однако, чтобы сериализовать в XML, я просто украшаю класс и его члены атрибутами Xml ??? ( XmlRoot , XmlElement и т. Д. ), а затем передав его в XmlSerializer и StringWriter , чтобы получить строку. Что все хорошо. Я намереваюсь поместить метод для возврата строки в универсальный служебный метод, поэтому мне не нужно беспокоиться о типе и т. Д.
Меня беспокоит следующее: если я не украшаю класс (ы) необходимыми атрибутами, ошибка не выдается до времени выполнения.
Есть ли способ принудительного оформления атрибутов? Можно ли это сделать с помощью FxCop? (я еще не использовал FxCop)
UPDATE:
Извините за задержку с этим, ребята, много дел!
Определенно, как идея использовать отражение, чтобы сделать это в тестовом примере, а не прибегать к FxCop (как сохранить все вместе). Ответ Фредрика Калсета был фантастическим, спасибо, что включил код в качестве наверное, мне понадобилось бы немного покопаться, чтобы понять, как это сделать самому!
+ 1 к другим парням за подобные предложения:)