C#静态事件
时间: 2023-07-12 19:14:03 浏览: 64
在C#中,静态事件是指与静态成员相关联的事件。静态事件可以使用static关键字定义,它们类似于实例事件,但是它们只能与静态成员一起使用。
以下是定义静态事件的基本语法:
```
public static event EventHandler MyStaticEvent;
```
在这个示例中,我们定义了一个名为MyStaticEvent的静态事件,它是一个EventHandler类型的委托。我们可以像使用普通实例事件一样使用静态事件。
以下是一个使用静态事件的示例:
```
public static class MyStaticClass
{
public static event EventHandler MyStaticEvent;
public static void DoSomething()
{
//执行某些操作
MyStaticEvent?.Invoke(this, EventArgs.Empty);
}
}
public static void Main()
{
MyStaticClass.MyStaticEvent += MyEventHandler;
MyStaticClass.DoSomething();
}
private static void MyEventHandler(object sender, EventArgs e)
{
//处理事件
}
```
在这个示例中,我们定义了一个名为MyStaticClass的静态类,它包含一个名为MyStaticEvent的静态事件。我们还定义了一个名为MyEventHandler的静态方法,该方法将用作事件处理程序。
在Main方法中,我们使用+=运算符将MyEventHandler方法添加为MyStaticEvent事件的处理程序。然后,我们调用MyStaticClass的DoSomething方法,该方法执行某些操作并触发MyStaticEvent事件。在事件触发时,将调用MyEventHandler方法并处理事件。