zoukankan      html  css  js  c++  java
  • c#中的委托和事件

    话说这两概念真的太基础了,但是困扰我蛮久了,说来真是丢人。

    不知道大家是不是有一种既生瑜何生亮的感觉,有委托了,为啥还要事件。

    其实很简单,就两点:

    1、委托添加第一个的时候要用=,之后才可以使用+=,一致性不好,事件都可以用+=

    2、为了封装性。委托在类中,如果想让别人使用必然要设置成public,那么对象外面的人也可以随时使用这个委托变量,这样不好,因为这个委托一般都是希望对象内部使用的,用于调用外部类对象的函数,就是c++中注册函数指针的作用。所以呢,事件就用来解决这个问题,虽然事件也是定义成public,外部可以往这个事件上注册函数,但是外部不能执行这个事件,就是说其实他是private的,只有类内部可以调用注册在事件上的函数。

    就这两点原因,是不是一下觉得太容易理解了

  • 相关阅读:
    MySQL RR隔离 读一致性
    C++奥赛一本通刷题记录(高精度)
    CodeVs天梯之Diamond
    CodeVs天梯之Gold
    CodeVs天梯之Silver
    CodeVs天梯之Bronze
    【2018.1.14】本蒟蒻又回来了
    test
    UVa12545
    UVa1149
  • 原文地址:https://www.cnblogs.com/haodafeng/p/15582458.html
Copyright © 2011-2022 走看看