委托C#详解
本文最后更新于:6 months ago
delegate代表,可以理解成,函数指针,方法的家庭地址,可以通过它找到方法,指代方法,我们要找一个人做核酸,就像程序要调用一个方法,我们不知道这个人的名字,那么我们去他的家庭住址找他,拿着大喇叭喊:402的住户做核酸了吗?如果知道名字我们就喊:熊大你做核酸了吗?402就是地址啦!熟悉C语言的同学们听说过一切皆地址吧。402就像一个delegate,有了他,就可以叫住在402的熊大或者熊二下来做核酸了!1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21//声明
//1.
public delegate void Entrust1(string name);
//2.
public delegate string Entrust(string name);
//实例化
//1.
Entrust1 et1=new Entrust1(show1);
public static void show1(string name){
Console.WriteLine($"您好,{name}");
}
//2.
Entrust2 et2=new Entrust2(show2);
public string show2(string name){
return "你好,"+name;
}
//调用
et1.invoke("mengwei");
et2.invoke("mengwei");
委托这个翻译,我真的不喜欢!虽然一开始我还真的努力理解过,就像是别人委托你去哄一哄他家小孩,你可以拿玩具和小孩玩,这是一种方法,也可以给小孩讲故事,这又是一种方法,委托没有指定哪种方法,但就是委托给你了,你看着办!这个真是为了理解还要瞎编/_\
多播委托一个方法指针指向了多个方法。1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30class Program
{
//定义购买商品委托
public delegate void OrderDelegate();
static void Main(string[] args)
{
//实例化委托
OrderDelegate orderDelegate = new OrderDelegate(Order.BuyFood);
//向委托中注册方法
orderDelegate += Order.BuyCake;
orderDelegate += Order.BuyFlower;
//调用委托
orderDelegate();
}
}
class Order
{
public static void BuyFood()
{
Console.WriteLine("购买快餐!");
}
public static void BuyCake()
{
Console.WriteLine("购买蛋糕!");
}
public static void BuyFlower()
{
Console.WriteLine("购买鲜花!");
}
}
接口这个翻译我也不喜欢!哼,本少女就是这么傲娇,虽然我觉得他比委托翻译的好一点了,interface,首先,face翻译不出来就是不行!face可以理解成脸面,我们人的脸是被皮肤藏起来的,只露出了七窍,不然,如果,嘿嘿,那就是画皮最恐怖的一幕了,所以,接口就是给了这么几个孔,里面的血淋淋的组织器官都被封装起来,我们表面只是呼吸或者用眼观察,其实内部神经系统,内分泌系统,呼吸系统是非常复杂的生理反应机制。而且每个人继承了眼睛这一接口,但有人就是狗眼看人低,有人的眼睛会温暖别人,是心灵的窗口,接口实现的方式是不一样的。
我觉得叫interface门面不错,我记得有个人说得特别好,interface接口就像是麦当劳肯德基一类的招牌,挂了麦当劳的门面的店(就像实现了接口的类),会有一些固定的方法的实现,比如里面一般会有汉堡和可乐。(手动鼓掌呱唧呱唧,不是为了汉堡和可乐(哈哈哈),是这个人说得很好!)
今天吐槽一下,为什么技术博客有人评论直接会说兄台,××兄怎么怎么地,那次我都被叫兄台了!气死本美少女了,追星追剧视频下面叫男生叫成姐妹,这种情况我也遇到过,为啥默认有这种有脑子的就是男生,没脑子的就是女生偏见呢?从小到大多少男生不及我的努力和天赋,却总是洋洋得意,听信周围人说男生有后劲,等以后就好了,我想说,所有人都是有后劲的,但那不是我们现在躺平的理由,没有船到桥头自然直的美事。这种偏见让有些男生洋洋得意,一些女生自暴自弃,为什么你们愿意相信别人对你未来的“掐指一算”,却不相信自己有逆天改命的能力呢?
刘铁猛C
1 |
|