1

嗨,我正在开发一个使用 WCF 服务从数据库获取数据的应用程序。但是当我想在手机上显示结果时,它会在 VS 中显示错误。我在 WCF 中从 MachineEntity 转换为 Machine,然后将其发送到客户端应用程序。

这是错误,指的是e.Result

无法将类型“WP7App.WCFService.Machine”隐式转换为“System.Collections.IEnumerable”。存在显式转换(您是否缺少演员表?)

public FoundProduct(int s)
{
    InitializeComponent();
    Service1Client proxy = new Service1Client();
    proxy.GetMachineCompleted += new
    EventHandler<GetMachineCompletedEventArgs>(proxy_GetMachineCompleted);
    proxy.GetMachineAsync(s);
}

void proxy_GetMachineCompleted(object sender, GetMachineCompletedEventArgs e)
{
    listBox1.ItemsSource = e.Result;
}
4

1 回答 1

0

就像错误消息说的那样, 的ItemsSource属性ListBox需要一个实现接口的对象IEnumerable。也就是说,大多数时候,元素的集合。

如果Machine应该是对象的集合,那么您必须了解它为什么没有实现IEnumerable(这里没有足够的上下文信息来弄清楚)。

但是,如果Machine是您想要分配给您的单个对象ListBox(听起来很奇怪,但是......),您可以将它包装在一个集合中:

listBox1.ItemsSource = new[] { e.Result };
于 2012-11-19T20:45:28.637 回答