在 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 方法來引發事件。
在使用靜態事件時,需要注意以下幾點: