0

二有服务。我创建了一个参数不是常规的函数。

参数是一个 List(Of KeyValuePair(Of MyObjectType, Integer))

但这使我的函数需要一个 KeyValuePairOfMyObjectTypeInt32 数组。

最好的方法是什么?

4

1 回答 1

1

不幸的是,泛型对 SOAP 不友好。

有许多限制需要考虑。请参阅MSDN 帖子中的接口和泛型部分。

或者,请参阅对此线程的回复: 链接

事实证明,XML Serializer 可以序列化某种泛型类型。正如neontapir 正确指出的那样,XML 序列化程序不完全支持泛型类型,但它仍然可以序列化泛型类型,因为它创建了我在问题中提到的 ItemResponseOfType[TheType] 类型。

XML 序列化器只是不会将类型反序列化为泛型类型。

就优雅的解决方案而言,我真的没有。如果其他人想介入,我会很想了解自己。

就个人而言,在极少数情况下(类似于您所描述的),我在服务器端使用了泛型,而客户端使用了 WSDL 定义的类(即:GenericObjectTypeOfPersonTypeInt32)

只是为了澄清(并重新格式化下面评论中的内容),您仍然可以在客户端调用以下内容:

KeyValuePairOfMyObjectTypeInt32.Key
KeyValuePairOfMyObjectTypeInt32.Value
于 2013-02-06T21:47:49.730 回答