从任务中提升事件

时间:2015-07-17 12:16:24

标签: c# events

我有一个管理器类,它产生一个任务来完成一个长时间运行的操作。 我希望能够在manager类上调用一个方法,通过状态,错误等事件通知侦听器。

使用非任务方法时,这很容易。

如何从任务中调用方法或在管理器类上引发事件?

提前致谢。

1 个答案:

答案 0 :(得分:0)

我将定义您需要与管理器类通信的接口,然后通过方法参数将其传递给任务。

对于错误通知,只要通过awaitTask.Wait()Task.ResultTask.Exception

在任务中发现异常,抛出异常就足够了

如果通知是为了进步,则可以使用[IProgress<T>][1]界面。

但是对于管理器类的任何自定义通知,我会添加一个适当的接口并在管理器类中实现它。