首页 > 代码库 > 使用XmlInclude解决WebService调用时无法识别子类的异常
使用XmlInclude解决WebService调用时无法识别子类的异常
一、定义抽象类及子类,WebMethod实际返回子类参数
//使用XmlInclude解决WebService调用时无法识别子类的异常 [System.Xml.Serialization.XmlInclude(typeof(WageEmploeyee)), System.Xml.Serialization.XmlInclude(typeof(Boss))] public abstract class EmployeeData { //Required by XmlSerializer public EmployeeData() { } public string Name { get; set; } public string SSN { get; set; } public abstract double ComputerPay(); } public class WageEmploeyee : EmployeeData { public double Wage { get; set; } public double Hours { get; set; } public override double ComputerPay() { return this.Wage * this.Hours; } } public class Boss : EmployeeData { public double Salary { get; set; } public override double ComputerPay() { return this.Salary; } }
2、WebMethod方法(根据传入的参数实例化不同的子类)
public class WebService1 : System.Web.Services.WebService { [WebMethod] public EmployeeData GetEmployee(int id) { if (id == 1) { return new Boss(); } return new WageEmploeyee(); } }
使用XmlInclude解决WebService调用时无法识别子类的异常
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。