计算机课程设计C#委托事件

preview
需积分: 0 0 下载量 7 浏览量 更新于2023-09-07 收藏 48KB DOC 举报
计算机课程设计C#委托事件 通过分析给定的文件信息,我们可以生成以下知识点: 1. 什么是事件?事件是类在发生其关注的事情时用来提供通知的一种方式。事件的发生一般都牵扯2个角色:事件发行者(Publisher)和事件订阅者(Subscriber)。 2. 事件发行者(Publisher):是一个事件的发行者,也称作是发送者(sender),其实就是个对象,这个对象会自行维护本身的状态信息,当本身状态信息变动时,便触发一个事件,并通知说有的事件订阅者。 3. 事件订阅者(Subscriber):对事件感兴趣的对象,也称为 Receiver,可以注册感兴趣的事件,在事件发行者触发一个事件后,会自动执行这段代码。 4. 委托事件(Delegate Event):在C#中,委托事件是一种机制,允许对象在触发事件时,通知其他对象。在委托事件机制下,我们可以定义一个委托,作为事件的处理程序,然后将其与事件关联起来。 5. 事件处理程序(Event Handler):是指处理事件的方法,例如在上面的代码中,MrMing.Receive()和MrZhang.Receive()就是事件处理程序,它们将被触发以响应事件。 6. 事件注册(Event Subscription):是指将事件处理程序与事件关联起来的过程,例如在上面的代码中,publisher.OnPublish += new Publisher.PublishEventHander(MrMing.Receive);就是将MrMing.Receive()事件处理程序注册到publisher.OnPublish事件上。 7. 事件触发(Event Triggering):是指事件发行者触发事件的过程,例如在上面的代码中,publisher.issue();就是触发publisher.OnPublish事件的过程。 8. 委托链(Delegate Chain):是指多个委托事件组成的链式结构,在C#中,我们可以使用+=运算符来组合多个委托事件,例如publisher.OnPublish += new Publisher.PublishEventHander(MrMing.Receive); += MrZhang.Receive; 9. 事件声明(Event Declaration):是指声明事件的过程,例如在上面的代码中,public event PublishEventHander OnPublish;就是声明了一个名为OnPublish的事件。 10. 事件发布(Event Publishing):是指事件发行者发布事件的过程,例如在上面的代码中,publisher.issue();就是发布publisher.OnPublish事件的过程。 通过分析上面的代码,我们可以看到,事件机制在C#中扮演着重要的角色,它允许对象之间进行松耦合的通信,从而提高了系统的灵活性和可维护性。