如何使用从c# webservice返回的keyvaluepairofstringdouble

本文关键字:返回 keyvaluepairofstringdouble webservice 何使用 | 更新日期: 2023-09-27 18:08:23

我有一个web服务方法,返回一个

List<KeyValuePair<string,double>>

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

List<KeyValuePairOfStringDouble>

我不知道怎么用这个

如何使用从c# webservice返回的keyvaluepairofstringdouble

您的服务引用正试图充分利用它获得的WSDL。但是你的服务和你的应用一直在相互博弈。他们从未被允许直接交谈。所以你现在被一些看起来像你需要的东西困住了,被称为像你需要的东西,但它不是你真正需要的东西。

简单的解决方案是建立一个新的列表,这是你在语法上需要的:

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

为了将来更好的解决方案,您应该让服务通信的两端在语法上知道另一端在做什么。这被称为契约程序集。

StackOverflow上的这个线程和它包含的链接可能是一个好的开始,如果你想为你的服务建立一个。