我有一个管理器类,它产生一个任务来完成一个长时间运行的操作。 我希望能够在manager类上调用一个方法,通过状态,错误等事件通知侦听器。
使用非任务方法时,这很容易。
如何从任务中调用方法或在管理器类上引发事件?
提前致谢。
答案 0 :(得分:0)
我将定义您需要与管理器类通信的接口,然后通过方法参数将其传递给任务。
对于错误通知,只要通过await
,Task.Wait()
,Task.Result
或Task.Exception
如果通知是为了进步,则可以使用[IProgress<T>][1]
界面。
但是对于管理器类的任何自定义通知,我会添加一个适当的接口并在管理器类中实现它。