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

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

相关推荐
惜.己1 分钟前
使用python的读取xml文件,简单的处理成元组数组
xml·开发语言·python·测试工具
anysunflower同学16 分钟前
前端排查一次Python进程重启的经验分享
架构
橙几17 分钟前
击败了90%的解法?Two Sum 从 O(n²) 到 O(n) 的优化之路
算法
apihz24 分钟前
域名WHOIS信息查询免费API使用指南
android·开发语言·数据库·网络协议·tcp/ip
叶子爱分享31 分钟前
经典排序算法之归并排序(Merge Sort)
算法·排序算法
小马爱打代码31 分钟前
微服务中token鉴权设计的4种方式
微服务·云原生·架构
婷儿z33 分钟前
Kubernetes 架构原理与集群环境部署
容器·架构·kubernetes
曾经的三心草35 分钟前
微服务的编程测评系统3-加密-日志-apifox-nacos-全局异常
微服务·云原生·架构
用手手打人35 分钟前
springCloud -- 微服务01
微服务·云原生·架构
珹洺37 分钟前
C++算法竞赛篇:DevC++ 如何进行debug调试
java·c++·算法