【发布时间】:2011-12-23 22:57:41
【问题描述】:
我有自定义控件,并且我有这个控件向其用户公开的界面。
public interface ILookupDataProvider
{
string IdColumnName { get; }
IEnumerable<IDataColumn> Metadata { get; set; }
void GetDataAsync(string parameters,
Action<IEnumerable<object>> onSuccess, Action<Exception> onError);
}
所以,我尝试在 GetDataAsync 中公开异步操作
但我不知道如何在实现接口的类中实现此方法。我理解这部分,因为我有方法将执行,然后将调用 onCompletion、onSucess 或 onError 委托。
有人可以帮助了解如何编写这些语法吗?
编辑:
现在是 4.0,我不能使用 await 命令
编辑 2:
我使用 DevForce 框架来加载数据,但是为了这个示例 - 让我们以 WCF 服务为例。如何在我的接口实现中包装 WCF 服务调用?
另外,你认为创建这样的界面来呈现异步操作是否可以?例如,您会对事件采取不同的做法吗?
【问题讨论】:
-
你是在使用 async/await 之后还是你想知道什么?
-
您的目标是 .NET 3.5 还是 .NET 4
-
我不能使用异步等待,因为我们正在使用 VS2010 进行生产我想为这个接口编写实现并且无法弄清楚语法。即使是简单的非异步实现也应该可以帮助我理解如何针对 Action 进行编码
-
这取决于
GetDataAsync的作用。它是从磁盘读取的吗?拨打 WCF 电话?查询数据库?无论它调用什么,都可能有一个异步 API,您将根据该 API 实现GetDataAsync。为了帮助您,我们需要知道您将使用哪个 API。 -
@Joe 我编辑了主要帖子以提供有关我所做工作的更多详细信息。
标签: c# silverlight asynchronous devforce