C#事件的引发与等待

原则:

1、一段代码中引发了一个事件,那么所有注册了这个事件的对象,它们的事件处理程序都会执行起来,而且引发事件的这个类(发送器端)的执行会暂时停了,等待其他所有的类的事件处理程序完成之后再继续执行。

      一个程序之中,几个对象之间如何传递交互信息,便是这样执行。

      这个过程类似于C中的消息传递,一个模块(一段代码)发送一个消息sendmessage,这个消息由系统获知,其他等待这个消息的模块(代码)在系统中注册,监听期待这个消息,系统获知这个消息有模块发出的时候,就通知这些注册监听的模块,启动它们的消息处理程序。

      对应在windows底层机制便是这样,但是一般在C,MFC的消息中,sendmessage会指出接收端;在C#中,由.net做这个事情,而且事件发生时并不知道目的接收端是哪个对象(与windows底层机制不同之处),而是通过接收端注册去注册事件,监听事件,当事件发生的时候,由.net来通知要处理这个事件的对象。

 

      由此亦可说明

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值