我想反序列化从 HTTP Web 请求接收到的流体作为响应。但问题是当反序列化必须作为特定类型完成时。我有多个 Get,它们有不同的响应(一个返回类型 p,其他返回类型 q)。我想要一个通用方法,它可以反序列化任何类型并返回一些通用的东西,当类型种姓将返回我所需的值时。
问问题
225 次
1 回答
0
神奇的酱汁知道要填充哪种类型。一旦你有了它,创建一个通用的反序列化器就很容易了:
public object Deserialize( string serialized, Type T ) {
if ( string.IsNullOrEmpty( serialized ) ) {
return null;
}
XmlSerializer xs = new XmlSerializer( T );
MemoryStream ms = new MemoryStream( StringToBytes( s ) ?? new byte[0] );
XmlTextWriter tw = new XmlTextWriter( ms, Encoding.UTF8 );
return xs.Deserialize( ms );
}
将其转换为通用方法也很容易。
于 2012-05-15T21:06:39.110 回答