Скажем, у меня есть произвольный объект .NET (хорошо, я могу гарантировать, что к нему применено [DataContract]
) и хочу преобразовать его в дерево (например, XML), выполняя специальную обработку всех его строковых свойств. Это похоже на типичную задачу сериализации, но из того, что я узнал, ни один из сериализаторов .NET не дает мне контроль над обработкой содержимого свойств (я пытался использовать DataContractSerializer
/ XmlSerializer
, но XmlObjectSerializerWriteContext
является внутренним, благодаря его дизайнерам) , Мне не нужно десериализовать дерево обратно, оно только для визуального представления.
Есть ли у меня какие-либо параметры, кроме ручной сериализации с использованием отражения (похоже, слишком много работы для обработки коллекций, циклов в графиках и т. Д.)?
Обновление: Завершено пользовательской рекурсивной функцией, основанной на отражении.