我继承了一个 C# (.NET 2.0) 应用程序,它有一堆静态方法。我需要将这些方法之一转换为基于异步事件的方法。当方法完成时,我想触发一个事件处理程序。我的问题是,我可以从静态方法中触发事件处理程序吗?如果是这样,如何?
当我谷歌时,我只找到 IAsyncResult 示例。但是,我希望能够执行以下操作:
EventHandler myEvent_Completed;
public void DoStuffAsync()
{
// Asynchrously do stuff that may take a while
if (myEvent_Completed != null)
myEvent_Completed(this, EventArgs.Empty);
}
Run Code Online (Sandbox Code Playgroud)
谢谢!
过程完全一样,唯一的区别是没有真正的this参考。
static EventHandler myEvent_Completed;
public void DoStuffAsync()
{
FireEvent();
}
private static void FireEvent()
{
EventHandler handler = myEvent_Completed;
if (handler != null)
handler(null, EventArgs.Empty);
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
13603 次 |
| 最近记录: |