c#自定义事件
自定义事件类
定义一个自定义事件参数类
为了传递更多的信息,我们定义一个自定义的事件参数类
public class CustomEventArgs : EventArgs
{
public string Message { get; set; }
}
3. 定义一个发布者类
接下来,我们定义一个发布者类,包含一个事件和一个触发事件的方法
public class EventPublisher
{
// 声明一个事件,使用自定义的委托类型
public event EventHandler<CustomEventArgs> CustomEvent;
// 触发事件的方法
public void TriggerEvent()
{
// 触发事件时传递自定义参数
CustomEvent?.Invoke(this, new CustomEventArgs { Message = "事件被触发!" });
}
}
-
定义一个订阅者类
然后,我们定义一个订阅者类,它的作用是处理事件,包含一个处理事件的方法
public class EventSubscriber
{
// 事件处理方法
public void HandleEvent(object sender, CustomEventArgs e)
{
Console.WriteLine($"接收到事件消息:{e.Message}");
}
}
-
在 Program.cs 里使用事件
最后,我们在 Program.cs
中创建发布者和订阅者实例,并订阅和触发事件,留意代码中的注释
using EventSample;
// 创建发布者和订阅者实例
EventPublisher publisher = new EventPublisher();
EventSubscriber subscriber = new EventSubscriber();
// 订阅事件,将订阅者的处理方法绑定到发布者的事件
publisher.CustomEvent += subscriber.HandleEvent;
// 触发事件,传递消息给订阅者处理
publisher.TriggerEvent();
// 取消订阅事件
publisher.CustomEvent -= subscriber.HandleEvent;
-
运行程序,可以看到事件被触发,如下图:
参考链接
轻松掌握 C# 事件:从创建到使用
特此记录
anlog
2024年12月22日