在 C# 中,可以使用静态事件来实现在类级别上触发和处理事件。静态事件是在类上声明的事件,可以在类的任何地方引发和订阅它。
以下是实现静态事件的示例代码:
using System;
public class EventPublisher
{
public static event EventHandler MyEvent;
public static void RaiseEvent()
{
MyEvent?.Invoke(null, EventArgs.Empty);
}
}
public class EventSubscriber
{
public EventSubscriber()
{
EventPublisher.MyEvent += OnMyEvent;
}
private void OnMyEvent(object sender, EventArgs e)
{
Console.WriteLine("Event raised!");
}
}
public class Program
{
public static void Main()
{
EventSubscriber subscriber = new EventSubscriber();
EventPublisher.RaiseEvent();
}
}
在上面的示例中,EventPublisher 类定义了一个静态事件 MyEvent。EventSubscriber 类订阅了这个事件,并在事件触发时执行相应的处理方法。在 Main 方法中,首先创建 EventSubscriber 实例,然后调用 EventPublisher 的 RaiseEvent 方法来引发事件。
在使用静态事件时,需要注意以下几点: