如何使用c#webservice返回的keyvaluepairofstringdouble

时间:2015-08-18 09:14:19

标签: c# web-services service-reference keyvaluepair

我有一个返回

的网络服务方法
List<KeyValuePair<string,double>>

但是当我在服务引用中使用该方法时,它返回的对象是

List<KeyValuePairOfStringDouble>

我无法弄清楚如何使用它。

1 个答案:

答案 0 :(得分:1)

您的服务引用正试图充分利用它获得的WSDL。但是你的服务和你的应用程序一直在玩游戏。他们从未被允许直接谈话。因此,您现在遇到的东西看起来像您需要的东西,并且被称为您需要的东西,但它 并不完全符合您的需要。

简单的解决方案是构建一个符合语法需求的新列表:

List<KeyValuePair<string,double>> yourlist = serviceResult.Select(kvp => new KeyValuePair<string, double>(kvp.Item1, kvp.Item2)).ToList();

为了在将来获得更好的解决方案,您应该让服务通信的两端知道另一端在语法上是什么。这称为合同装配。

StackOverflow上的

This线程及其包含的链接可能是一个良好的开端,如果你想为你的服务构建一个。