Общая десериализация строки xml

У меня есть несколько разных классов DTO. В какой-то момент они сериализуются в строку XML и передаются на клиентскую сторону веб-приложения. Теперь, когда клиент возвращает строку XML, мне нужно десериализовать ее обратно в экземпляр класса DTO, который он представляет. Проблема в том, что я хочу сделать его универсальным и, возможно, функцией, которая принимает строку xml и выплевывает объект типа. Что-то вроде длинных этих строк:

public sometype? Deserialize (string xml)
{
//some code here
return objectFromXml;
}

РЕДАКТИРОВАТЬ: Ужасный пример! Я сам себе противоречил!

Я не могу сделать следующее:

Person person = Deserialize(personXmlStringFromClient);

потому что я не знаю, что personXmlStringFromClient является представлением экземпляра объекта Person DTO.

Я не знаю, какой сериализованный объект мне передан, и это, похоже, мой проблема здесь. Я читал об отражении и других методах, которые включают в себя вставку типа в xml, чтобы десериализатор знал, что с ним делать. Кажется, я не могу собрать все воедино в одну рабочую деталь. Кроме того, в большинстве примеров автор знает, какой тип будет после десериализации. Любые предложения приветствуются! Если мне нужно сделать что-то особенное с процессом сериализации, поделитесь, пожалуйста, и этим.

14
задан John Saunders 14 February 2011 в 20:35
поделиться