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サービスに入れたくありません。派生型で属性を保持する方法はありますか?