我有以下的请求和响应数据合同对一个Webservice的方法调用如何在XSD数据合约中指定通用类型参数?
<xs:element name="GetUserOptionsRequest">
<xs:complexType>
<xs:sequence>
<xs:element name="OptionType" type="entities:UserOption" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="GetUserOptionsResponse">
<xs:complexType>
<xs:sequence>
<xs:element name="Options" type="entities:UserOption" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
的问题是什么,我想有是说(伪)
GetUserResponse response = GetuserOptions(new GetUserOptionsRequest(Type T))
并以的方式根据我通过的类型,响应是否包含IList。
使用我的上述数据契约XSD,当我只想指定一个类型定义时,它期待在请求对象中有一个类的实例。
真的我想什么,我想它
GetUserResponse<T> response = GetUserOptions(new GetUserOptionsRequest<T>());
但林不知道如何指定在XSD泛型类/方法。任何人都可以点我一篇好文章或解释我如何在XSD中定义它?
我也使用WSCF blue进行代码生成。
好的谢谢。就像在旁边一样,是否可以在XSD中指定你的类是另一个基类型的子类?例如,如果我有一个用Id和Description字段定义的UserChoice对象,那么我可以在XSD类型中声明,例如TravelChoice,SportChoice,FamilyChoice,它们都从UserChoice继承,并且不会添加比基础对象更多的行为? – NZJames 2012-03-12 13:59:36
@JohnSaunders我更新了我的答案。感谢您指出了这一点。 – 2012-03-12 17:26:30
@ user1122909 **是**,您可以用''元素表示继承。看看这个问题的更多细节:http://stackoverflow.com/q/1939062/26396 –
2012-03-12 17:31:05