事件委托怎么写

1.什么是事件和委托

委托和事件在.NET Framework中的应用非常广泛,然而,较好地理解委托和事件对很多接触C#时间不长的人来说并不容易。

委托是一个类,它定义了方法的类型,使得可以将方法当作另一个方法的参数来进行传递,这种将方法动态地赋给参数的做法,可以避免在程序中大量使用If-Else(Switch)语句,同时使得程序具有更好的可扩展性。

使用委托可以将多个方法绑定到同一个委托变量,当调用此变量时(这里用“调用”这个词,是因为此变量代表一个方法),可以依次调用所有绑定的方法。

事件就是一个特殊的委托,委托和事件就类似于字段和属性的关系,事件是对委托做了一个封装。

参考:/view/1935199.htm

2.什么是事件和委托

委托实质上是一个类,是对方法的封装,委托内部有三个重要成员:目标,方法,前一个委托。

普通代码里这样调用方法: aBird.Fly(); 封装到委托里,aBird 就是目标,Fly 就是方法。委托可以组成链,“前一个委托”用于支持这种链式结构。

MethodInvoker mi = new MethodInvoker(aBird.Fly); mi(); 这段和上面的 aBird.Fly 是一个效果,但不是直接调用。可以将 mi 传递到其他地方,再进行调用。

委托在方法和调用方之间建立了间接性。 事件是基于委托的通信机制。

如果一个对象的状态改变了,我们可能希望将这种改变通知给外界。从实现角度看,“通知”其实就是调用接收方的方法。

困境在于,我们不知道谁对这些改变有兴趣,有多少人对这些改变有兴趣,所以,我们无法直接调用方法。.net中有两个办法解决这个问题,接口和委托。

这两个的含义都是“约定”,目的则是“分离”,换句话说,就是:商量好了,分头行动。接口是对类成员的约定,委托是对参数和返回值的约定。

对于简单的通知,接口有些麻烦,委托更好一些,所以,我们将一个委托加到类中,让它保存应该调用的方法。但光秃秃的一个字段有点难看,好像没穿衣服一样。

为了让代码更好看,.net 引入了事件的概念。事件本质上是一个方法,事件提供 add, remove,将方法挂到这个委托中,或从此委托中移除。

像这样: button1.Click += new EventHandler(button1_Click), 订阅事件, button1.Click -= new EventHandler(button1_Click), 退阅事件, 如果A订阅了B的事件,那么它们之间的引用关系是这样:B引用委托,委托引用A。这就是说,在退阅事件之前,A不会被当作垃圾回收,因为B包含对它的引用。

因此,委托和事件的区别是:委托与类,结构,接口,枚举是一类,而事件属类成员,和属性,方法,字段是一类。不过这种区分意义不大,应付考官而已。

写代码的时候,谁会想这么多。

3.委托书怎么写

授权委托书

委托人:姓名、性别、出生年月、民族、工作单位、职业、住址。 (委托人为单位的,写明单位名称)

被委托人:姓名、性别、出生年月、民族、工作单位、职业、住址。

(被委托人是律师的,只写姓名和所在律师事务所名称)

委托人因XXXX(写明事件性质及对方当事人)一事,委托XXX为XX的代理人,代理权限如下:

(委托刑事案件的辩护人,只写“为被告人XXX(姓名)XXX一案第X审进行辩护”)

(委托经济、民事、行政等案件代理人的,须写明代理权限,特别授权的,应写明授权的具体范围,如

代为起诉、提出反诉、进行和解、撤诉、上诉、签收法律文书等)

委托人:(签名或盖章) 被委托人:(签名或盖章)

4.请问前辈们怎么学习委托和事件呢

委托的注意事项

在C#中,所有的委托都是从System.MulticastDelegate类派生的。

委托隐含具有sealed属性,即不能用来派生新的类型。

委托最大的作用就是为类的事件绑定事件处理程序。在通过委托调用函数前,必须先检查委托是否为空(null),若非空,才能调用函数。

在委托实例中可以封装静态的方法也可以封装实例方法。

在创建委托实例时,需要传递将要映射的方法或其他委托实例以指明委托将要封装的函数原型(.NET中称为方法签名:signature)。注意,如果映射的是静态方法,传递的参数应该是类名.方法名,如果映射的是实例方法,传递的参数应该是实例名.方法名。只有当两个委托实例所映射的方法以及该方法所属的对象都相同时,才认为它们是想等的(从函数地址考虑)。

5.委托与事件

public CoreTypes.NodeCallBack NCallBack;

其实就是一个字段,这个字段类型是NodeCallBack,字段的名字叫NCallBack

如果你这样声明

public event CoreTypes.NodeCallBack NCallBack;

就会定义一个事件,事件也是属于这个委托类型的,但是他与这个委托类型的字段是有区别的,这个事件在类外面访问的时候,你是不能引发,或者说主动执行的,而声明为一个public字段的话,在类的外面就可以随意操作了

最后一句是给这个字段中包含的委托添加一个匿名方法

回答补充:

二楼说的没错,我再补充一下

使用event声明的是一个事件,实际上在编译的时候会生成两个方法(add_XXX和remove_XXX)和一个字段,你在类内部使用+= -=其实编译的时候调用的是两个方法,而取出事件中包含的委托则编译时直接访问字段

但是在类的外面,你只能使用+= -=访问add和remove方法,这样就防止在类的外部直接修改委托中注册的处理器,保护类不被恶意破坏,而也仅能在内部引发一个事件

事件委托怎么写

转载请注明出处育才学习网 » 事件委托怎么写

知识

韩语樱花怎么写

阅读(228)

本文主要为您介绍韩语樱花怎么写,内容包括樱花韩语怎么写,请问樱花的樱字用韩文怎么写,樱花用韩语怎么说。中 文 - 樱韩文写法 - 앵 罗马音标 - Aeng韩国语输入法状态下,字母输入顺序:dod资料查询:

知识

便宜点的英文怎么写

阅读(238)

本文主要为您介绍便宜点的英文怎么写,内容包括便宜的英文怎么写,能不能便宜点用英文怎么说,便宜点英语怎么说。便宜 [拼音] [pian yi] inexpensive; cheap; twopenny; threepenny a small a

知识

比大小怎么写

阅读(165)

本文主要为您介绍比大小怎么写,内容包括比大小(写过程),比大小怎么写,比大小怎么写呢。1)40厘米=( )厘米 150克=( 0.15 )千克 64角=( 0.64 )元8元7分知=(8.07 )元 8元3角5分=( 8.

知识

关爱作文开头怎么写

阅读(211)

本文主要为您介绍关爱作文开头怎么写,内容包括关爱作文开头,互相关爱的作文开头怎么写,关爱作文开头结尾。“嘤其鸣矣,求其友声。相彼鸟矣,犹求友声”诗经中的这首伐木记叙了朋友之间真挚的友情。我虽然不知道朋友代表什么,但我知道,没有朋友的

知识

义工总结怎么写

阅读(184)

本文主要为您介绍义工总结怎么写,内容包括义工年终总结怎么写,义工年终总结怎么写,大学生义工总结怎么写。如果说太阳的第一缕光线能给予人们希望,那它的持续照耀就能让人倍感温暖。就好像我们xx义工会的战友们。也许当初的加入有人只为圆自

知识

火锅评论怎么写

阅读(218)

本文主要为您介绍火锅评论怎么写,内容包括用什么语言评论火锅好吃,对火锅店的好评150字,如何回复火锅店好评顾客的评论。比如说味道不错,比较正宗,环境很好,人气蛮高的,价格合理,菜品种类多,比较新鲜,服务态度也不错,地理位置在市中心,比较容易找,吃

知识

限制用英语怎么写

阅读(208)

本文主要为您介绍限制用英语怎么写,内容包括单词“限制”用英语怎么写,“限制”英语怎么说阿,突破限制英语怎么说。strict a. 1. 严格的;严厉的[(+with)] He is very strict with his students. 他

知识

物流转让怎么写

阅读(189)

本文主要为您介绍物流转让怎么写,内容包括我有个快递点要转让,怎么写广告,转让书怎么写,快递转让信息怎么写。转让协议书 ? ??甲方:________________ ??乙方:________________ ??双方经反复协商一致,就下列事

知识

繁体字华夏怎么写

阅读(403)

本文主要为您介绍繁体字华夏怎么写,内容包括中华的“华”繁体字怎么写,中国这两字的繁体字怎么写,繁体字华怎么写。

知识

爱城市英文怎么写

阅读(188)

本文主要为您介绍爱城市英文怎么写,内容包括爱英文怎么写,关于我最喜欢的城市的英语作文150字,爱.用英文怎么写。我最喜欢的城市(my favourite city)Shanghai is my favorite city. I like it be

知识

15万3千怎么写

阅读(198)

本文主要为您介绍15万3千怎么写,内容包括会计人民币15万大写的正确写法,山东省面积15万3千零80平方千米,改写成用“亿平方米”做单位的数,10万3千大写怎么写。每三个数字点一点即150,000.00。按照会计准则以及会计法等相关要求,会计中数值的

知识

发征征文怎么写

阅读(204)

本文主要为您介绍发征征文怎么写,内容包括征稿启示怎么写,法制征文怎么写,征文怎么写格式。征稿启事的内容一般由标题、正文、落款三部分组成。 (一)标题征稿启事的标题可以有几种构成方式。其一,由事由直接构成。如“征文”、“征稿”

知识

增字的签名怎么写

阅读(232)

本文主要为您介绍增字的签名怎么写,内容包括增字签名怎么写好看我怎么写都不好看东倒西歪,增字怎么样签名,增字怎么写好看。(增)字可使用行书或者草书。(行书)给人自由活泼的感觉。(草书)给人放荡不羁的感觉。(增)蔡云汉简体行书写法和中国龙新草体

知识

英文春节贺卡怎么写

阅读(222)

本文主要为您介绍英文春节贺卡怎么写,内容包括用英语写新年贺卡怎么写,英文新年贺卡怎么写,怎么填写春节祝福贺卡(英文)。happ new year! would like to wish you a joyous new year and express

知识

电信代办委托书怎么写

阅读(212)

本文主要为您介绍电信代办委托书怎么写,内容包括委托到电信办理事务的委托书怎么写,电信办理委托书怎么写,电信业务委托书怎么写。委托书书写格式:委托书兹因患者XXX因X工作关系X重病 X路途遥远X出 国确实无法亲自办理资料申请,特委托:XXX代为

知识

行政复议委托书怎么写

阅读(246)

本文主要为您介绍行政复议委托书怎么写,内容包括行政复议委托书格式,行政复议授权委托权限,行政复议书怎么写。委托人:(姓名) 性别 出生年月 身份证号码 住所 (联系地址) 邮政编码联系电话委托单位:(名称) 住所 (联系地址) 邮政编码联系电

知识

讨债委托书怎么写

阅读(216)

本文主要为您介绍讨债委托书怎么写,内容包括委托朋友讨债的委托书怎么写,讨债委托书怎么写需注意哪些事项,讨债委托书怎么写。讨债委托书因我工作忙,有外欠我的债务要想追回。欠款人: 现委托 给我办理此事。 委托权限:调解、和解,被委托人不能

知识

引产委托书怎么写

阅读(221)

本文主要为您介绍引产委托书怎么写,内容包括引产老公不在家,需要怎么写委托书,医院类的委托书的格式怎么写,办引产证明要街道什么部门给开委托书。公民授权委托书,是当事人、法定代表人依法委托他人作为诉讼代理人,向人民法院提交的写明委托

知识

违章委托书怎么写

阅读(186)

本文主要为您介绍违章委托书怎么写,内容包括处理违章委托书怎么写,违章委托书怎么填,处理车辆违章的单位委托书怎么写。处理违章委托书首先应写明委托人及受托人的姓名、身份证号码及联系方式,其次写明委托事项,如:办理车牌号码为XXXX机动车的

知识

vb双击事件怎么写

阅读(207)

本文主要为您介绍vb双击事件怎么写,内容包括vb双击事件,如果鼠标双击则引发事件的VB代码怎么写帮帮忙,VBDatagrid控件双击事件怎么写。不用那么啰嗦。○在窗体中输入以下代码:Private Sub Command1_Click() lHook = SetWindowsHo

知识

委托合同怎么写

阅读(169)

本文主要为您介绍委托合同怎么写,内容包括怎么写委托合同,委托协议书范本怎么写,委托书怎么写。委托合同(通用) 委托人: 通讯地址及联系方式: 证件类型及编号: 联系方式: 受托人: 通讯地址及联系方式: 证件类型及编号: 联系方

知识

委托监护人怎么写

阅读(227)

本文主要为您介绍委托监护人怎么写,内容包括委托监护人协议怎样写,监护人委托书怎么写,小孩在什么条件可写委托监护人。授 权 委 托 书委托人: XX 身份证号: XX 被委托人: XX 身份证号: XX 委托事项:说明委托的事项委托权限:把权限列清楚委

[/e:loop]