我在 Web 服务调用中使用抽象类作为参数。目前,我在基类中包含派生类的 XmlInclude,如下所示:
[XmlInclude(typeof(DerivedClass))]
public abstract class BaseClass
{
}
但是,我宁愿不在基类中包含所有派生类型。
在http://www.pluralsight.com/community/blogs/craig/archive/2004/07/08/1580.aspx中,作者提到了另一种选择——将属性写在 web 方法之上,如下所示:
[WebMethod]
[System.Xml.Serialization.XmlInclude(typeof(DerivedClass))]
public BaseClass getClass() {
return new DerivedClass();
}
但是,我也不想将派生类型放入 Web 服务中。有没有办法将属性保留在派生类型中?