C#事件为空
原则:
1、如果没有为事件写好事件处理程序,那么事件(也是个类,类对象)为空
2、前面所述的
事件+=委托(事件处理程序)
这种语法格式的语句,只是把事件和事件处理程序关联了起来,并且在这个时候,事件处理程序已经是肯定定义了,因为传入了事件处理程序的称,也就是说指明了事件发生时用哪个函数,这同时说明,这种关联是写在事件接收器的(一般用户编写代码都是在事件接收器,比如系统事件都是由系统发出的,在接收方关联到自定义的事件处理程序来实现各种功能应用);
事件的引发是在事件发送器端,一般用以下代码实现
if(eventObject != null)
{
eventObject(sender, ev);
}
在定义了事件处理程序的时候,eventObject就不是null了,这时候,用eventObject(sender, ev);语句引发事件,相当于C中的sendmessage作用