如果你只做|

陈侠云

园龄:2年10个月粉丝:1关注:1

观《深入理解C#》---委托和事件的区别

委托

  1. 委托封装了包含返回类型和一组参数的行为
  2. 委托实例是不易变的(类似string)
  3. 每个委托都包含了一个调用列表

事件

  1. 事件是对委托的封装,是一种特殊的委托,主要用于发布-订阅模式。事件提供了一种机制,使对象可以向其他对象通知发生了某种动作
  2. 事件通常在类内部声明,并通过该类的方法触发。在外部,其他类可以订阅(+=)或取消订阅(-=)这个事件,但不能直接触发它

image

事件跟属性类型,同样可以自定义“订阅”和“取消订阅”的方式,当要注意,自定义后,就无法正常Invoke这个事件了,只能Invoke指定的委托

        private MyDelegate simpleDelegate;       // 声明委托实例
        public event MyDelegate simpleEvent 
        {
            add
            {
                simpleDelegate += value;
            }
            remove
            {
                simpleDelegate -= value;
            }
        }

本文作者:陈侠云

本文链接:https://www.cnblogs.com/chenxiayun/p/18294023

版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。

posted @   陈侠云  阅读(7)  评论(0编辑  收藏  举报
//雪花飘落效果
点击右上角即可分享
微信分享提示
评论
收藏
关注
推荐
深色
回顶
收起