我有一堆不同的DTO类。它们正在被串行化成一个XML字符串,然后被发送到Web应用程序的客户端。现在,当客户端发回一个XML字符串时,我需要将其反序列化回它所代表的DTO类的一个实例。问题是我想使它成为通用的,并且可能是一个函数,它接受一个xml字符串并吐出一个类型的对象。像这些线很长:xml字符串的通用反序列化
public sometype? Deserialize (string xml)
{
//some code here
return objectFromXml;
}
编辑:可怕的例子!我只是自相矛盾!
我不能做到以下几点:
Person person = Deserialize(personXmlStringFromClient);
,因为我不知道personXmlStringFromClient是人DTO对象实例的表示。
我不知道什么是序列化对象给我,这似乎是我的问题在这里。我一直在阅读关于反射和其他涉及将类型粘贴到xml中的技术,以便反序列化器知道如何处理它。我似乎无法将它们全部合并为一个工件。另外,在绝大多数例子中,作者知道反序列化后会出现什么类型。任何建议是值得欢迎的!如果我需要在序列化过程中做一些特殊的事情,请分享一下。
对不起!我迷惑了自己。我不能使用你的功能,因为我不知道T是什么。 – Dimskiy 2011-02-14 20:33:14
@Dimskiy:你知道T *可能会是什么吗?(也就是潜在类型列表)? – 2011-02-14 20:51:10
如果我可以将字符串作为字符串获取,那么如何将字符串“Person”转换为实际类型? – Dimskiy 2011-02-14 20:53:04