• [C#参考]事件和委托的关系


    前面说了委托,接下来就要说一说事件了,同时最后再说一下委托和事件的区别。

    事件和委托很相似,事件就好像是被简化的针对特殊用途的委托。看下面的图:

    从这张图中能看到,事件是发布者的一个成员,它不是类型。

    结合前面说的委托的知识,事件的组件应该是这个样子的:

    看到发布者必须有触发事件的代码,也就是必须为事件的调用留有接口,不能在发布者类外部调用事件(不要觉得事件是委托类型的,并且声明为了public,就能在发布者类外调用)。这里要强调的是事件是成员,是发布者的一个成员,它不是类型,它的类型是委托类型的

    虽然事件是委托类型的,但是事件对委托做了一次封装,并且事件封装的委托是private的,所以是不能从发布者外部直接调用使用的,必须通过接口调用。

    事件提供了对它的私有控制委托的结构化访问。与委托中的许多其他操作不一样,对于事件只可以添加、删除或者调用事件处理程序。

    再看下面这幅图:

    从这幅图中也能看到事件是发布者类的成员,它提供了对自己内部私有控制的委托的结构访问。

     http://www.cnblogs.com/chengxingliang/archive/2013/05/21/3051912.html

    http://www.blogjava.net/hongzionline/archive/2008/07/28/145050.html

    http://www.360doc.com/content/11/0719/10/654841_134444949.shtml

    http://blog.csdn.net/chopper7278/article/details/3145000

    http://www.cnblogs.com/kklldog/archive/2012/01/17/2324228.html

    http://www.tracefact.net/CSharp-Programming/Delegates-and-Events-in-CSharp.aspx

  • 相关阅读:
    从关系型数据库到非关系型数据库
    2016某知名互联网公司PHP面试题及答案
    企业网站核心关键词如何去选择
    写Seo网站标题应该注意什么
    什么样的外链才是优质外链
    什么是网站物理链接结构
    需要分析竞争对手的网站哪些SEO数据
    做外链的时候应该需要注意什么
    描述标签对关键词排名有影响吗
    网站外链对排名的影响有哪些
  • 原文地址:https://www.cnblogs.com/stemon/p/4433297.html
Copyright © 2020-2023  润新知