C#定义事件
时间: 2023-07-12 07:23:45 浏览: 53
在 C# 中,可以使用 `event` 关键字定义事件。定义事件的一般步骤如下:
1. 定义委托类型,用于指定事件处理程序的格式和返回类型。
2. 定义事件,使用 `event` 关键字和上述委托类型。
3. 在事件所属的类中定义触发事件的方法,通常以 `On` 开头,例如 `OnEventName`。
4. 在触发方法中,使用委托类型的实例调用事件处理程序。
下面是一个简单的示例:
```csharp
// 委托类型,指定事件处理程序的格式和返回类型
public delegate void EventHandler(object sender, EventArgs e);
// 定义事件
public event EventHandler MyEvent;
// 触发事件的方法
protected virtual void OnMyEvent(EventArgs e)
{
MyEvent?.Invoke(this, e);
}
// 调用事件处理程序的方法
public void DoSomething()
{
// 触发事件
OnMyEvent(EventArgs.Empty);
}
```
在上面的示例中,我们定义了一个名为 `MyEvent` 的事件,使用了 `EventHandler` 委托类型。在 `OnMyEvent` 方法中,我们使用委托类型的实例调用了事件处理程序,使用 `?.` 运算符可以确保只有在事件处理程序不为空时才会调用。最后,在 `DoSomething` 方法中,我们可以调用 `OnMyEvent` 方法来触发事件。