C# 中的event怎么使用
时间: 2024-03-22 11:41:18 浏览: 57
在 C# 中,event 是一种特殊的委托类型,用于在类中定义事件。事件是一种消息传递机制,当事件发生时,通常会触发一些响应操作。下面是一个简单的示例:
```csharp
using System;
class Program
{
static void Main()
{
var myClass = new MyClass();
myClass.MyEvent += HandleMyEvent;
myClass.DoSomething(); // 触发事件
}
static void HandleMyEvent(object sender, EventArgs e)
{
Console.WriteLine("MyEvent was handled");
}
}
class MyClass
{
public event EventHandler MyEvent;
public void DoSomething()
{
// 触发事件
MyEvent?.Invoke(this, EventArgs.Empty);
}
}
```
在上面的示例中,MyClass 类中定义了一个 event 委托类型的 MyEvent 事件。在 Program 类中,我们创建了一个 MyClass 对象,并将 HandleMyEvent 方法注册为 MyEvent 事件的处理程序。当 MyClass 的 DoSomething 方法被调用时,它会触发 MyEvent 事件,并执行 HandleMyEvent 方法。
需要注意的是,事件的访问权限通常是私有的,因此只能在类内部触发事件。另外,为了避免空引用异常,我们使用了 ?. 运算符来检查事件处理程序是否为空。
阅读全文