事件处理程序作为Async的包装器?

时间:2016-01-08 14:23:59

标签: c# asynchronous event-handling wrapper

目前我有一个class,其中包含另一个class方法<{1}}

Async

然后,在public class MyClass { //This is my user-defined class private HasASyncClass hasAsyncItem; //it has a class which has an Async method } 我为MyClass这样做了一个包装

hasAsyncItem

现在,我有另一个public void BeignAsyncWrapper() { //Do something for safe process and checking hasAsyncItem.BeginAsync(new AsyncCallback(endAsyncItemHandler), hasAsyncItem); //Do something else } private void endAsyncItemHandler (IASyncResult ar) { HasASyncClass asyncItem = ar.AsyncState as HasASyncClass; asyncItem.EndAsync(ar); //and so on } instance,我希望MyClass知道instance是否输入endAsyncItemHandler

我的问题是我应该使用MyClass来“包装”event handler事件吗?或者我应该使用另一种Async方法将其换行?

虽然我过去曾多次使用async方法,但这是我第一次为它制作包装async。我正在寻找关于如何正确完成的输入 - 特别是在跨线程上下文中class可以在不同于MyClass的上下文中运行。

使用instance,我正在考虑声明一个并像这样使用它

event handler

这样好/安全吗?

0 个答案:

没有答案