二有服务。我创建了一个参数不是常规的函数。
参数是一个 List(Of KeyValuePair(Of MyObjectType, Integer))
但这使我的函数需要一个 KeyValuePairOfMyObjectTypeInt32 数组。
最好的方法是什么?
不幸的是,泛型对 SOAP 不友好。
有许多限制需要考虑。请参阅此MSDN 帖子中的接口和泛型部分。
或者,请参阅对此线程的回复: 链接
事实证明,XML Serializer 可以序列化某种泛型类型。正如neontapir 正确指出的那样,XML 序列化程序不完全支持泛型类型,但它仍然可以序列化泛型类型,因为它创建了我在问题中提到的 ItemResponseOfType[TheType] 类型。
XML 序列化器只是不会将类型反序列化为泛型类型。
就优雅的解决方案而言,我真的没有。如果其他人想介入,我会很想了解自己。
就个人而言,在极少数情况下(类似于您所描述的),我在服务器端使用了泛型,而客户端使用了 WSDL 定义的类(即:GenericObjectTypeOfPersonTypeInt32)
只是为了澄清(并重新格式化下面评论中的内容),您仍然可以在客户端调用以下内容:
KeyValuePairOfMyObjectTypeInt32.Key
KeyValuePairOfMyObjectTypeInt32.Value