上周我一直在尝试创建一个异步方法。我尝试了MSDN文章How to: Implement a Component That Supports the Event-based Asynchronous Pattern 但它在同一个类的方法中完成了工作。我正在做的工作要复杂得多,而且是自己的班级。我遇到的问题是执行工作的类不能发布进度或完成,因为处理这些东西的方法是在父类中。
有人对如何解决此问题有任何建议吗?
答案 0 :(得分:1)
感谢答案chaps - 简单(和愚蠢)的错误 - 只是让父类中的事件共享而Bob是你的叔叔!
答案 1 :(得分:0)
听起来你应该考虑Asyncronous Processing Model(即从IAsyncResult派生)。该模型支持三种会合技术:wait-unti-done,方法回调和轮询。但您可以自由地在轮询之外实现进度功能(例如,公开事件或委托,或接受进程回调)。
Jeff Richter在MSDN中对此模型进行了深入的研究。从这里开始: