我有一个WCF服务,我试图用它来生成IEnumerable<IDictionary>
,然后从中构建一个网格。
返回数据的服务器上的方法签名是:
[OperationContract]
[FaultContract(typeof(GeneralServiceFault))]
IEnumerable<IDictionary> GetReport(string name, ReportingParameter[] parameters);
我正在构建我的服务参考:
call "C:\Program Files\Microsoft SDKs\Silverlight\v4.0\Tools\slsvcutil.exe" http://localhost:8082/Service?wsdl /mergeConfig /config:..\ServiceReferences.ClientConfig /edb /namespace:"*,namespace.Service" /r:"c:\Program Files\Microsoft Silverlight\4.0.60129.0\System.Windows.dll"
这会生成一个服务引用,归结为:
public Dictionary<object, object>[] EndGetReport(IAsyncResult result)
无论如何我可以用通用IDictionary生成这个,所以我可以调用here找到的扩展方法吗?或者如果不是我应该怎么做呢?
答案 0 :(得分:0)
我认为这不可能...... 只需将该扩展方法更改为:
public static IEnumerable ToDataSource<TDictionary>(
this IEnumerable<TDictionary> list) where TDictionary : IDictionary
答案 1 :(得分:0)
如果您正在使用/有权访问Visual Studio,请尝试以下操作:
在Visual Studio解决方案资源管理器
选择“配置服务参考”
确保指定的集合类型为System.Collections.Generic.List
确保指定的词典集合类型为System.Collections.Generic.Dictionary
道歉,但我不熟悉svcutil
的命令行参考,用于生成默认配置以外的任何内容。