web service 使用多态(转载)

      在Web Services方法中,往往使用的都是一个具体类型的参数,这个参数一般就是一个数据对象。ASP.NET Web Services通过声明XmlIncludeAttribute可以实现Web Services方法中运用多态。

     XmlIncludeAttribute允许XmlSerializer在序列化火反序列化对象时识别类型。当应用 XmlIncludeAttribute时,需指定派生类的Type。XmlSerializer序列化同时包含基类和派生类的对象之后,它就可以识别两 种对象类型。

     首先定义基类Vehicle和派生类Car:

 1: public abstract class Vehicle
 2: {
 3: public string LicenseNumber{get;set;}
 4: public DateTime MakeTime { get; set; }
 5: }
 6:  
 7: public class Car : Vehicle
 8: {
 9: public int DoorNum { get; set; }
10: }
11:  

        在Web Services的AddVehicle方法可以查看传过来的参数:

image

        Web Services可以支持多态,不过仅仅限制在可以直接引用Web Services的时候有生成可序列化的代码时能够使用,要在其他的客户端使用还是得费一番周折。

转自:http://www.cnblogs.com/zhaozhan/archive/2010/10/25/1860867.html
原文地址:https://www.cnblogs.com/johnwonder/p/1860980.html