gpt4 book ai didi

c# - 将静态方法与事件处理程序一起使用

转载 作者:行者123 更新时间:2023-11-30 14:13:15 26 4
gpt4 key购买 nike

我继承了一个具有大量静态方法的 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);
}

谢谢!

最佳答案

过程完全一样,唯一的区别是没有真正的this引用。

static EventHandler myEvent_Completed;

public void DoStuffAsync()
{
FireEvent();
}

private static void FireEvent()
{
EventHandler handler = myEvent_Completed;

if (handler != null)
handler(null, EventArgs.Empty);
}

关于c# - 将静态方法与事件处理程序一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14693387/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com