我有一个返回
的网络服务方法List<KeyValuePair<string,double>>
但是当我在服务引用中使用该方法时,它返回的对象是
List<KeyValuePairOfStringDouble>
我无法弄清楚如何使用它。
答案 0 :(得分:1)
您的服务引用正试图充分利用它获得的WSDL。但是你的服务和你的应用程序一直在玩游戏。他们从未被允许直接谈话。因此,您现在遇到的东西看起来像您需要的东西,并且被称为您需要的东西,但它 并不完全符合您的需要。
简单的解决方案是构建一个符合语法需求的新列表:
List<KeyValuePair<string,double>> yourlist = serviceResult.Select(kvp => new KeyValuePair<string, double>(kvp.Item1, kvp.Item2)).ToList();
为了在将来获得更好的解决方案,您应该让服务通信的两端知道另一端在语法上是什么。这称为合同装配。
StackOverflow上的This线程及其包含的链接可能是一个良好的开端,如果你想为你的服务构建一个。