我有WCF服务,其中包含来自LibW.dll(我的dll)中数据的列表。在主程序中,我还从LibW.dll获得了列表。
我从WCF服务返回清单
[OperationContract]
public List<IWeather> Final()
{
return returner;
}
然后尝试将方法的结果设置为value
cont = e.Result;
哪里
List<LibW.IWeather> cont=new List<LibW.IWeather>();
但是我有这样的错误
无法隐式转换类型
System.Collections.ObjectModel.ObservableCollection<object>' to 'System.Collections.Generic.List<NavigationGadget.IWeather>
怎么了?
最佳答案
假定e.Result
是ObservableCollection<T>
,然后……即使您在服务中将其声明为List<IWeather>
。
看起来您还需要从object
转换为IWeather
-假设每个结果确实是一个IWeather
。您可以始终将其复制到列表中,如下所示:
cont = e.Result.Cast<IWeather>().ToList();
...或更改变量类型,使其可以处理任何
IList<IWeather>
。