如何在 C# 中创建自定义事件

How to create a custom events in C#

我正在尝试使用 C# wiform 开发应用程序。我只想在互联网连接启动时在 class 中执行 void sendEmail(){} 函数。我使用的方法是 bool checkConnection(){} 函数无限循环 while 循环并将 ping 请求发送到 google.com。如果 ping 成功,sendEmail(){} 函数将由 checkConnection() 函数调用。

但我知道这不是这样做的最佳做法。我对 C# 中的自定义事件感到非常困惑。如何使用自定义事件来完成此任务。期待一个简单解释的答案。

提前致谢

我了解到您正在尝试构建类似于 c# 中的功能的调度程序任务。根据我的理解,windows 服务会为您完成任务,例如监听互联网的可用性,然后在应用程序上线时执行邮件发送操作。

W.R.To 事件,您可以构建自己的事件引擎,该引擎会在应用程序运行时引发应用程序事件,然后会有列出待处理任务的数据库条目。将有一个后台作业,如 windows 服务,它读取数据库并根据互联网的可用性或在某些条件下执行作业。

如果您能更清楚地了解确切的用例以及到目前为止您尝试过的内容,社区可以更好地帮助您。

样本 class 可观察 { public 事件 ImageUploadeventHandler InternetcOnnected;

public void DoSomething()
{
    ImageUploadeventHandler handler = InternetcOnnected;
    if (handler != null)
    {
        handler(this, EventArgs.Empty);
    }
    }
}
class Observer
{
    public void HandleEvent(object sender, EventArgs args)
    {
        // upload the image to the online service
    }
}