c# - 如何在 C# 中编写事件和事件处理程序?

标签 c# .net events

一段时间以来,我一直在尝试一种好方法来记住如何在 C# 中编写事件和事件处理程序。每当我想引用 Internet 上的教程时,它们往往都很冗长。

问题是如何用 C# 编写事件和事件处理程序?您是否有代码示例可以轻松说明如何编写此类代码?

最佳答案

他们不必冗长:

// declare an event:
public event EventHandler MyEvent;

// raise an event:
var handler = MyEvent;
if(handler != null) handler(this, EventArgs.Empty);

// consume an event with an anon-method:
obj.MyEvent += delegate { Console.WriteLine("something happened"); };

// consume an event with a named method:
obj.MyEvent += SomeHandler;

void SomeHandler(object sender, EventArgs args) {
    Console.WriteLine("something happened");
}

麻烦的地方是什么?

关于c# - 如何在 C# 中编写事件和事件处理程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/856632/

相关文章:

c# - ASP.NET MVC MySQL 拒绝用户 'root' @'localhost' 访问(使用密码 : NO)

c# - 为什么这个算法在 Ruby 中比在 Parallel'd C# 中运行得更快?

c# - 如何从 C# 更新文件的更改时间?

c# - 仅为我的应用程序实现 IDownloadManger

C#和Kinect手势时间

c# - 通过 Windows Azure 发布后无法加载文件或程序集 System.Runtime.Serialization

c# - 如何循环面板内的所有复选框控件(在任何级别)?

javascript - 动态 dojo/on 事件

c# - DDD\CQRS\Event Sourcing 和请求历史数据

c# - 如何在 C# 中实现取消事件