C# 委托(Delegate)二

一.委托的多播(Multicasting of a Delegate):

委托对象,使用 "+" 运算符进行合并,一个合并委托调用它所合并的两个委托。使用"-" 运算符从合并的委托中移除组件委托。

注:只有相同类型的委托可被合并。

应用委托的这个有用的特点,可以创建一个委托被调用时要调用的方法的调用列表。这被称为委托的 多播(multicasting),也叫组播。

二.应用示例:

示例界面:

代码:

class TestDelegate

{

static int num = 1;

public static int AddNum(int Num1)

{

num += Num1;

return num;

}

public static int MultNum(int Num2)

{

num *= Num2;

return num;

}

public static int getNum()

{

return num;

}

}

delegate int NumberChanger(int n);

private void button15_Click(object sender, EventArgs e)

{

// 创建委托实例

NumberChanger nc;

NumberChanger nc1 = new NumberChanger(TestDelegate.AddNum);

NumberChanger nc2 = new NumberChanger(TestDelegate.MultNum);

nc = nc1;

nc += nc2;

// 调用多播

nc(5);

numericUpDown11.Value = TestDelegate.getNum();

}

三.委托(Delegate)的用途 :

简单来讲,使用一个委托来调用两个方法,实现不同的调用方法需求;

相关推荐
地平线开发者3 小时前
【模型轻量化专题】衡量模型轻量性的指标
算法
万物智能3 小时前
硬件调试三板斧—【万物智能之开源鸿蒙OpenHarmony系统实战开发系列教程】
后端·架构
这个DBA有点耶5 小时前
从MySQL 5.7到8.0:JSON查询性能差在哪?虚拟列索引vs多值索引怎么选
数据库·mysql·架构
学习星球6 小时前
OFDM技术精讲:正交性推导、循环前缀原理与80行Python链路仿真(附实测数据)
算法·面试·前端框架
Erishen6 小时前
🚀 用 React Three Fiber 造一个会说话的 3D 数字人:从密钥安全到 Serverless 10 秒极限的踩坑全记录
架构·开源·agent
JustCheng7 小时前
Dispacher(1/2)深入解析-详细使用
c#
万物智能10 小时前
启动链路与分区—【万物智能之开源鸿蒙OpenHarmony系统实战开发系列教程】
后端·架构
alphaTao12 小时前
LeetCode 每日一题 2026/8/24-2026/8/30
python·算法·leetcode
Interview Aid11212 小时前
TikTok OA 四题分享|半小时内 AC,题目基本都是实现题
java·开发语言·算法·面试·职场和发展
mldong12 小时前
换了工作流引擎,前端一行代码没改
java·架构