以下是一个简单的C#事件驱动的演示示例:
using System;
// 定义事件发布者类
class EventPublisher
{
// 定义事件委托类型
public delegate void EventHandler(string message);
// 声明事件
public event EventHandler OnEvent;
// 触发事件的方法
public void TriggerEvent(string message)
{
// 检查事件是否有订阅者
if (OnEvent != null)
{
// 触发事件
OnEvent(message);
}
}
}
// 定义事件订阅者类
class EventSubscriber
{
// 事件处理方法
public void HandleEvent(string message)
{
Console.WriteLine("收到事件消息:" + message);
}
}
class Program
{
static void Main(string[] args)
{
// 创建事件发布者对象
EventPublisher publisher = new EventPublisher();
// 创建事件订阅者对象
EventSubscriber subscriber = new EventSubscriber();
// 订阅事件
publisher.OnEvent += subscriber.HandleEvent;
// 触发事件
publisher.TriggerEvent("这是一个事件消息");
Console.ReadLine();
}
}
在示例中,定义了一个EventPublisher类作为事件发布者,其中声明了一个名为OnEvent的事件。EventPublisher类还有一个TriggerEvent方法,用于触发事件。
定义了一个EventSubscriber类作为事件订阅者,其中有一个HandleEvent方法,用于处理事件。
在Main方法中,创建了一个事件发布者对象和一个事件订阅者对象。然后,使用+=操作符将事件订阅者的HandleEvent方法订阅到事件发布者的OnEvent事件上。
最后,调用事件发布者的TriggerEvent方法来触发事件,并传递一个消息作为参数。当事件触发时,事件订阅者的HandleEvent方法将被调用,并输出收到的事件消息。
这个简单的示例演示了C#中事件驱动的基本原理。