如何转换WCF结果“e.Result”来的IEnumerable

我必须在Silverlight绑定DataGrid中。

void proxy_DoWorkCompleted(object sender, ServiceReference1.DoWorkCompletedEventArgs e) { try { //var v = e.Result as Queryable; //PagedCollectionView pagesEmployees = new PagedCollectionView(v); //dpGridPager.Source = pagesEmployees; dataGrid1.ItemsSource = e.Result; } catch (Exception ex) { MessageBox.Show(ex.InnerException.ToString()); } }

现在,这个e.Result应的IEnumerable绑定数据网格。 我应该如何转换这IEnumerable的?

--------------解决方案-------------

e.Result包含的结果DoWork操作; 如果服务操作的返回类型是枚举,那么e.Result也将是。 因此,更新服务操作返回的东西是枚举,然后更新服务引用。

有时是有用的使用单个对象作为数据源给需要一个IEnumerable作为数据源的控制。 我用一个小的扩展方法来处理这​​样的情况:

public static class ObjectExtensions
{
public static IEnumerable<T> WrapInEnumerable<T>(this T t)
{
yield return t;
}
}

现在,如果您从返回的对象DoWork方法,您可以通过使用数据绑定:

myControl.DataSource = DoWork().WrapInEnumerable();

分类:C# 时间:2012-05-09 人气:0
分享到:

相关文章

Copyright (C) 55228885.com, All Rights Reserved.

55228885 版权所有 京ICP备15002868号

processed in 0.287 (s). 9 q(s)