笔记:C#_委托_delegate

简明指南:委托

网上查了很多资料,发现讲委托的思路很乱!于是来整理一下。

1 比喻
我把委托看成是手枪上的弹匣,而需要委托的函数则是弹匣中的子弹。

要打几枪就在委托里装几发子弹,然后带上这把枪;

而不是去为每把枪装上一发子弹,然后背一大堆枪;

这里的枪就是主函数Gun();
子弹可能是Fire(),Ice(),Gold()属性
弹匣就是委托容器delegate Magazine();

2 说明
要使用委托,先要声明委托,就是起草设计图。

接着是将委托这个弹匣照着设计图生产出来。
然后就是使用了。

执行清单

1:准备工作:设计图

1.1: 声明需要 委托的函数:(子弹:火属性)

string Fire()//bullet子弹
{
	return “fire!”;
}

1.2: 声明一个 委托:Magazine 弹匣

delegate void Magazine();//声明一个新的委托类型

2:实际使用:生产&出厂设置
在这里插入图片描述
2.1: 实例化委托容器:
按照Magazine设计图,生产弹匣magazine。
并填入一发子弹Fire();

delegate void Magazine();

Magazine magazine=Fire;//将Fire函数(火属性子弹)填入委托容器(弹匣)中

2.2: 将委托作为参数传给主函数:将弹匣插到枪上,完成!

void Gun(Magazine magazine)//Gun=枪,magazine=弹匣
{
	int result=magazine();//发射火属性子弹
	print(result);
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值