У меня есть куча разных классов DTO. Они сериализуются в XML-строку в один момент и запускаются на клиентскую сторону веб-приложения. Теперь, когда клиент отстреливает XML-строку, мне нужно десериализовать ее обратно в экземпляр класса DTO, который он представляет. Проблема в том, что я хочу сделать ее общей и, возможно, функцией, которая принимает строку xml и выплевывает объект типа. Что-то вроде длинной строки:
public sometype? Deserialize (string xml)
{
//some code here
return objectFromXml;
}
EDIT: Ужасный пример! Я просто противоречил себе!
Я не могу сделать следующее:
Person person = Deserialize(personXmlStringFromClient);
потому что я не знаю, что personXmlStringFromClient является представлением экземпляра объекта Person DTO.
Я не знаю, какой сериализованный объект мне дал, и это, кажется, моя проблема. Я читал о размышлениях и других методах, которые включают в себя вложение типа в xml, чтобы десериализатор знал, что с ним делать. Кажется, я не могу собрать все это вместе в одну рабочую часть. Кроме того, в большинстве примеров автор знает, какой тип будет после десериализации. Любое предложение приветствуется! Если мне нужно сделать что-то особенное с процессом сериализации, пожалуйста, поделитесь этим тоже.