【发布时间】:2012-01-30 21:49:05
【问题描述】:
我的 silverlight 应用程序使用了我的 wcf 服务。其中一个对象具有集合属性。在服务端,属性是一个列表
这些天一切正常,我不确定我做了什么,我在哪里做了任何更改,但突然我的 silverlight 应用程序抛出了这个错误。我试过用windows forms应用,还是一样。
Cannot implicitly convert type 'System.Collections.ObjectModel.ObservableCollection<someobject> to someobject[]
通常当它发生时,我右键单击服务并“配置服务引用”并将集合类型从下拉列表更改为可观察集合,但这次它似乎不起作用。令我不解的是,它现在工作了6个多月,今天突然不行了。
我尝试获取以前版本的 wcf web.config 文件,但似乎没有任何解决方法。
======================= 更新:
我想我发现了问题所在,我只是不知道为什么它不能这样工作。
原来我的任务课是这样的
public class Task
{
Public List<TaskItem> Items { get; set; }
//Public TaskItems Items { get; set; }
}
现在我有这样的:
public class Task
{
//Public List<TaskItem> Items { get; set; }
Public TaskItems Items { get; set; }
}
public class TaskItems : List<TaskItem>
{
}
我想如果我可以在我的 silverlight 应用程序中看到 TaskItems 对象,我应该会很好。但由于某些原因,它没有出现。 在客户端,我这样引用:
task.Items = new ObservableCollection<TaskItem>();
【问题讨论】:
-
你能把wcf服务的配置贴出来吗?以及服务的代码
-
我更新了我的问题。我认为问题出在继承部分,但我不知道这有什么关系。
-
您是否尝试过在适当的地方显式添加 DataContract 和 CollectionDataContract 属性?
-
这些类不在界面中,仍然可以在客户端访问。我尝试添加 DataContract 属性,因为它不在接口文件上,所以它不会接受它。
标签: silverlight