1、从刚接触#编程到现在,差不多快有一年的时间了。在学习过程中,有很多地方始终似是而非,直到最近才弄明白。
2、本文将先介绍用法,后评断功能。声明一个委托类型。委托就像是‘类‘一样,声明了一种委托之后就可以创建多个具有此种特征的委托。特征,指的是返回值、参数类型,创建一个在1中创建的委托类型的委托。
3、为2中创建的具体的委托添加响应函数。响应函数必须符合1中的‘特征’。
4、完成以上三步之后,就可以使用来对委托进行调用了。可以选择调用的目标函数,调用优先级,以及调用的参数。
5、上面是基本用法,除了这种基本用法之外,还可以结合、匿名委托、委托等方法。委托的优点,是可以实现异步,还可以在某种需要同时调用多个同参数、返回值的情况下简化代码。
1、为事件添加响应函数。为事件规定触发,调用,【也可以没有触发方式。
2、#里,每一种‘事件‘大概都对应着其‘事件处理者’。比如类的事件对应着,对于非特异性的‘事件‘,比如这种,它们统一都对应着或者这种较为通用的‘事件处理者’。
3、然而,‘‘也只是充当了一个中介的角色,真正触发了‘’之后要做什么,还需要我们手动指定。本来也是委托自定义事件是一种类似于委托的方式,自定义事件某种意义上改变了程序的流程,使得某个条件的变化由‘不断查询‘转变为‘订阅与处理’的关系。
4、自定义事件需要有以下几个元素:。事件的发起者,事件的订阅,以及事件的处理程序。从发起者到处理程序之间是可以传参数的。一个事件的‘发起‘可以依赖于某种系统消息,比如‘’、‘‘,【我目前还没见过这么写的源码】,也可以在某个条件达成时,比如两次输入了同样的字符,自行调用,其实收到系统消息也算是‘条件达成’,
5、【更多的是这么写出来的】。有些事件,并没有明显的‘发起者‘。