У меня есть следующая пара контрактов данных запроса и ответа для вызова метода Webservice
<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 синий для генерации кода.