zoukankan      html  css  js  c++  java
  • c#事件初探

    事件是委托的一种特殊形式,当发生有意义的事情时,事件处理对象通知过程。
    我们接着上一篇的假想场景,并且假设主办方将参会者分两组进行发言,按照事件的方式进行处理。好了,code is cheap,上代码了:
    类图:

    代码部分:

    Code

    从上面的代码中,我们可以看清楚事件的工作流程:发送器定义委托,声明事件;接收器注册事件处理程序(speak)到事件中去;发送器状态改变发出“通知”时,事件触发,注册事件的各个接收器及时“获取”消息,处理相应程序,如发言(speak)。如果我们在Java类的构造函数中注释掉”sponsor.programLs += this.Speak;“这一行,那么这个接收器(java)也就不会收到通知,并发言(speak)了。
    我们经常在c#程序中看到如:
        protected void Page_Load(object sender, EventArgs e)
        {
        }
    这样的事件形式。最后,我们来改造之前的代码,也模仿一下ms的优雅的写法:

    Code

    关于事件和委托,本篇和上一篇不过是按照自己的思路入门介绍一下,高手不值一哂。读者可以参考网上无数高明的文章。


    作者:Jeff Wong
    出处:http://jeffwongishandsome.cnblogs.com/
    本文版权归作者和博客园共有,欢迎围观转载。转载时请您务必在文章明显位置给出原文链接,谢谢您的合作。

  • 相关阅读:
    block为什么用copy以及如何解决循环引用
    iOS证书失效
    基于AFNetWorking封装一个网络请求数据的类
    Xcode的内存清理
    block的用法以及block和delegate的比较(转发)
    React-Native 获取node.js提供的接口
    npm创建和发布模块
    React-Native之ViewPagerAndroid的使用
    使用.NET框架、Web service实现Android的文件上传(二)
    使用.NET框架、Web service实现Android的文件上传(一)
  • 原文地址:https://www.cnblogs.com/jeffwongishandsome/p/1418956.html
Copyright © 2011-2022 走看看