中易网

c#如何终止委托?求代码。

答案:2  悬赏:10  
解决时间 2021-02-04 03:48
c#如何终止委托?求代码。
最佳答案
public delegate void aDelegate();
static void Main(){
var de = new aDelegate(a);
de +=b;
de();//调用委托
de-=a;//移除委托
de-=b;

de =c;
de();

}
static void a(){Console.WriteLine("a method")}
static void b(){Console.WriteLine("bbbb ")}
static void c(){Console.WriteLine("ccccc")}
全部回答
委托,从字面上理解在生活中可以找到一些例子,比如说某人患有疾病,他在没有犯病前给身边的人说:“要是我大叫一声,你就赶紧送我上医院”。 这就是一个约定或者叫委托。 那么当此人大叫的时候,身边的人不用问怎么回事,直接送他去医院了。 注意,这里触发了一个事件,就是那人大叫,另一人执行了一个送医院的过程,也就是委托的内容。 回到写代码上,委托一般用在事件的处理或者是线程间的消息、数据等传送。 public delegate void takemeouteventhandler(); //这里定义了一个委托,这就是规范。没有参数 public class a { public event takemeouteventhandler takemeout; //class a定义了一个上面委托类型的事件 public void dosomething() { ....... if(this.takemeout!=null) //触发了这个事件 this.takemeout(); ...... } } public class b { a a = new a(); public b() { a.takemeout += new takemeouteventhandler(t); //监听a的事件,如果触发后执行方法t } private void t() { ........ } } 以上是简单代码,是关于两个class之间的。 线程之间的传递,也类似。
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
如何在eclipse环境下用JAVA实现手机定时发送
在温州瓯北报喜鸟这边摆摊卖什么好
河南省有色工程勘察公司我想知道这个在什么地
多嘴肉蟹煲酱汁
我在宁夏石嘴山市大武口区住想办叉车证请问在
问道法水相性应该怎么加 有人说加水 有人说加
在香港哪里可以买金条啊,小的,可以直接带进
发艺美业怎么去啊,有知道地址的么
小明的身高是1米,爸爸的身高是173厘米,小明
怎么才能买创业板?
长治市杂技团家属院这个地址在什么地方,我要
挖土深度算至基础底标高,不含垫层深度的疑问
诺基亚c3手机 密码锁了 改完了忘了 怎么解
MDaemon10.1.2在哪里取消强密码
最难受的分手,愈合期是多久?
推荐资讯
同一工程同一标号原材也一样的混凝土配合比需
一辆车开了10年是什么感觉
古降在哪里啊,我有事要去这个地方
《桃花心木》种树人语重心长地说……一吹就倒
世纪花园西南门在什么地方啊,我要过去处理事
我国儿童游乐产业前景在哪
请教:有没有支持JAVA的AVR单片机?
我想看些有意思的les电影
关于海贼王草帽的合照出处 难道这张是同人?我
网站如何让UC浏览器自动使用兼容模式?
乐安阿波罗美的旗舰店地址有知道的么?有点事
麻烦给我简单介绍一下这几所学校在西班牙的情
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?