webservice如何传输泛型,需要序列化吗?为什么返回的是一个数组,怎么转换成本地泛型类?[System.Xml.Serialization.XmlInclude(typeof(你的类名))] 这句话是做什么用的

解决方案 »

  1.   

    不能啊,反序列化是要制定type的,我也遇到过这样的问题,转换不了貌似。
      

  2.   

    我倒是没有在web service中传递过泛型,因为我从客户端需求出发,那么所有类型都是简单命名的。举个例子:对于泛型“自行车<电动>”,从客户端需求出发我会首先写“电动自行车”,结果最终就形成了public class 电动自行车: 自行车<电动>
    {
    ....
    }这没有什么问题啊?!因此,web service只是一个对外接口声明,而不是一个内部实现,因此它其实完全没有必要一定提供泛型支持。关于XmlInclude具体详细内容你自己查询网上的资料吧。它的作用是当你写了一个“电动自行车”的子类(例如:“盲人专用电动自行车”)的时候,由于子类的对象需要在这个父类的功能中多态地输出,而web service协议不支持多态,系统就要把盲人专用电动自行车转换为电动自行车类来产生xml。
      

  3.   

    把盲人专用电动自行车转换为电动自行车类来产生xml  --> 把盲人专用电动自行车xml转换为电动自行车xml
      

  4.   

    WebService不支持泛型,你要是了解WebService原理就明白为什么了...必须指定确定的类型并进行包装,如3楼所示...WCF可以有限地支持泛型...