C# 中委托与事件的实际应用

在 C# 开发中,委托(Delegate)事件(Event) 是实现 回调机制、解耦设计和异步通知的核心手段。掌握委托和事件的实际应用,可以大幅提升代码灵活性和可维护性。本文将结合真实开发场景,系统讲解其使用方法与工程实践。


一、委托(Delegate)概述

1.1 定义

委托是一种 类型安全的函数指针,可以引用具有相同签名的方法。

public delegate void Notify(string message);
  • Notify 是委托类型
  • 参数类型与返回类型必须与方法匹配

1.2 委托实例化与调用

public class Notifier
{
   
   
    public void SendMessage(string msg)
    {
   
   
        Console.WriteLine($"消息: {
     
     msg}");
    }
}

Notifier notifier = new Notifier();
Notify notifyDelegate = new Notify(notifier.SendMessage);
notifyDelegate("委托调用测试");

1.3 多播委托

Notify notify1 = notifier.SendMessage;
Notify notify2 = msg => Console.WriteLine($"日志: {
     
     msg}");
Notify multi = notify1 + notify2;
multi("多播委托测试");

多播委托可以将多个方法绑定到同一委托实例上,依次调用。


二、事件(Event)概述

2.1 定义

事件是基于 委托 的一种机制,用于 对象间解耦通知

public class Publisher
{
   
   
    public event Notify OnNotify; // 定义事件

    public void RaiseEvent(
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

威哥说编程

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值