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)的用途 :

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

相关推荐
网安INF3 分钟前
RSA加密算法:非对称密码学的基石
java·开发语言·密码学
明月*清风3 分钟前
c++ —— 内存管理
开发语言·c++
蔡蓝8 分钟前
设计模式-观察着模式
java·开发语言·设计模式
HyggeBest13 分钟前
Mysql 宏观架构
mysql·架构
DemonAvenger19 分钟前
Go GOGC环境变量调优与实战案例
性能优化·架构·go
大咖分享课20 分钟前
容器安全最佳实践:云原生环境下的零信任架构实施
安全·云原生·架构
WindSearcher23 分钟前
大模型微调相关知识
后端·算法
AllWe$28 分钟前
互联网三高架构 一
架构
取酒鱼食--【余九】34 分钟前
rl_sar实现sim2real的整体思路
人工智能·笔记·算法·rl_sar
西北大程序猿1 小时前
单例模式与锁(死锁)
linux·开发语言·c++·单例模式