我有一个自定义控件,它向用户公开了接口。
public interface ILookupDataProvider
{
string IdColumnName { get; }
IEnumerable<IDataColumn> Metadata { get; set; }
void GetDataAsync(string parameters,
Action<IEnumerable<object>> onSuccess, Action<Exception> onError);
}
所以,我的尝试是在GetDataAsync
中公开异步操作。
但我不知道如何在实现接口的类中实现这个方法。我理解这部分的意思是,我有一个方法将被执行,然后调用onCompletion
、onSuccess
或onError
委托。
有没有人可以帮忙写出这些语法呢?
编辑:
这是4.0版本,我不能使用await
命令
编辑2:
我使用DevForce框架来加载数据,但为了这个示例 - 让我们以WCF服务为例。我怎样在我的接口实现中包装WCF服务调用呢?
另外,您认为创建这样的接口来表示异步操作是否可以?您会用事件等不同的方式来处理吗?
GetDataAsync
做什么。它是从磁盘读取数据吗?还是进行 WCF 调用?或者是查询数据库?无论它调用的是什么,都可能有一个异步 API,您可以根据该 API 实现GetDataAsync
。为了帮助您,我们需要知道您将使用哪个 API。 - Joe White