0

我想反序列化从 HTTP Web 请求接收到的流体作为响应。但问题是当反序列化必须作为特定类型完成时。我有多个 Get,它们有不同的响应(一个返回类型 p,其他返回类型 q)。我想要一个通用方法,它可以反序列化任何类型并返回一些通用的东西,当类型种姓将返回我所需的值时。

4

1 回答 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 回答