C#中的事件和事件处理 雨点打透心脏的1/2处 2022-08-13 12:55 132阅读 0赞 C\#中的事件,我觉得和MFC的消息作用在某些方面是差不多的。这个项目中用到的需求是两个类之间的数据交互,首先肯定是分为一个触发事件的类,一个处理事件的类。 1)首先需要在所有类的外部为事件定义一个公共访问类型的代理,该代理为多重代理,所以代理定义方法标识的返回为void类型。一般我们这么定义: <span style="font-size:14px;">public void EventDelegate(object sender,EventArgs e);</span> 多重代理的意思,可以理解为这个代理有多重方法。 2)在事件触发类中,使用event关键字与之前声明的代理共同定义一个公共访问类型的事件。 <span style="font-size:14px;">public event EventDelegate MyEvent;</span> 3)在事件处理类中,定义一个事件处理方法,这个方法的参数和代理的一致 <span style="font-size:14px;">public void OnMyEvent(object sender,EventArgs e)</span> <span style="font-size:14px;">{//处理的方法</span><span style="font-size:14px;">}</span> 4)在事件触发类中的方法中,触发事件。 MyEvent(this,null); 5)在事件处理类中,实例化事件触发类,并且将当前类中定义的事件处理方法和事件绑定在一起 EventClass eventObj=new EventClass(); eventObj.MyEvent+=new EventDelegate(OnMyEvent);
还没有评论,来说两句吧...