C# 如何转换WCF结果';e、 结果';数不清
我必须在silverlight中绑定datagridC# 如何转换WCF结果';e、 结果';数不清,c#,silverlight,wcf,silverlight-4.0,C#,Silverlight,Wcf,Silverlight 4.0,我必须在silverlight中绑定datagrid void proxy_DoWorkCompleted(object sender, ServiceReference1.DoWorkCompletedEventArgs e) { try { //var v = e.Result as Queryable; //PagedCollectionView pagesEmployees = new Paged
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来绑定datagrid。如何将其转换为IEnumerable???
e.Result
包含DoWork
操作的结果;如果服务操作的返回类型是可枚举的,则e.Result
也将是可枚举的。因此,更新服务操作以返回可枚举的内容,然后更新服务引用。e.Result
包含DoWork
操作的结果;如果服务操作的返回类型是可枚举的,则e.Result
也将是可枚举的。因此,请更新服务操作以返回可枚举的内容,然后更新服务引用。有时,将单个对象用作期望IEnumerable作为数据源的控件的数据源是有用的。我使用一种小型扩展方法来处理此类情况:
public static class ObjectExtensions
{
public static IEnumerable<T> WrapInEnumerable<T>(this T t)
{
yield return t;
}
}
有时,对于需要IEnumerable作为数据源的控件,使用单个对象作为数据源是很有用的。我使用一种小型扩展方法来处理此类情况:
public static class ObjectExtensions
{
public static IEnumerable<T> WrapInEnumerable<T>(this T t)
{
yield return t;
}
}
请出示服务合同。如果没有这个,我们怎么知道e.结果应该是什么`@约翰·桑德斯:谢谢你的回复。我正在从我的服务返回datatable,并希望将其转换为Ienumerable。请显示服务合同。如果没有这个,我们怎么知道e.结果应该是什么`@约翰·桑德斯:谢谢你的回复。我正在从我的服务返回datatable,并希望将其转换为Ienumerable。谢谢您的回复。假设我从服务返回datatable,那么??我同意您的看法。但是,如果我的服务返回数据表呢?
DataTable
类型在Silverlight中不存在,因此您可能会得到类似于ArrayOfXElement
的东西作为e.Result的类型,它包含响应的XML。如果它适合您(即,在SL中,您将自己解析XML,然后将其转换为可枚举),那就太好了,否则您应该使用一些数据类型作为操作的返回值。谢谢您的回复。假设我从服务返回datatable,那么??我同意您的看法。但是,如果我的服务返回数据表呢?DataTable
类型在Silverlight中不存在,因此您可能会得到类似于ArrayOfXElement
的东西作为e.Result的类型,它包含响应的XML。如果它对您有效(即,在SL中,您将自己解析XML,然后将其转换为可枚举),那就太好了,否则您应该使用一些数据类型作为操作的返回值。