C# public event EventHandler
时间: 2024-06-14 15:08:10 浏览: 245
C# 中的EventHandler实例详解
5星 · 资源好评率100%
在C#中,public event EventHandler是一种事件的声明方式。事件是一种特殊的委托,用于在程序中实现发布-订阅模式,允许对象在特定条件下通知其他对象发生的事件。
EventHandler是一个预定义的委托类型,它可以用于处理不带参数的事件。它的定义如下:
```
public delegate void EventHandler(object sender, EventArgs e);
```
在声明事件时,可以使用EventHandler委托类型作为事件的类型。例如:
```
public event EventHandler MyEvent;
```
这样就声明了一个名为MyEvent的事件,它的类型是EventHandler。其他对象可以通过订阅这个事件来接收通知,当事件发生时,所有订阅了该事件的对象都会执行相应的处理方法。
事件的触发通常通过调用事件的触发器来实现。在类中,可以使用以下方式触发事件:
```
protected virtual void OnMyEvent(EventArgs e)
{
MyEvent?.Invoke(this, e);
}
```
这里使用了OnMyEvent方法来触发MyEvent事件,并传递一个EventArgs参数。通过调用MyEvent委托的Invoke方法,可以通知所有订阅了该事件的对象。
需要注意的是,事件的访问修饰符一般为public或protected,以便其他对象能够订阅该事件。
阅读全文