委託與事件的關係

委託與事件的關係數組

  委託與事件的關係,可參照字段跟屬性的關係來理解。安全

  屬性的一個功能就是設置字段,能夠給字段設置權限。字段能夠是值類型,也能夠是引用類型,固然包括數組在內。那麼委託呢?委託是把方法參數化,想要使用方法時直接使用就能夠了(有時候要在不一樣的地方使用同一個方法,若是把方法的引用交給委託,要使用的時候直接讓委託佔位(委託去調用這個或這些方法),就方便多了)。工具

  聲明一個委託:public deletate void MyDelegate();blog

  能夠把委託當作一個容器(名片夾),裏面裝的是方法的引用(這裏咱們能夠把方法理解爲工具,而引用就至關於工具的一個名片來標識工具的位置),容器裏能夠裝不少的名片夾(能夠註冊(+=)多個方法給委託),須要使用時,會按照名片的順序來調用方法(多播委託)。事件

  一個委託類型的變量能夠引用一個或多個方法。容器

  

 

    事件的本質就是對委託的封裝,約束委託何時執行委託裏面的方法(否則委託豈不是沒法無天逍遙自在了),事實上事件也是對委託的一種安全保護,委託能夠賦值,而事件是須要註冊的。再者,事件能夠定點定量的執行委託,變量

    委託能夠賦值時由於委託自己裝的就是方法的引用,引用自己就是一個「值」,裸露的值有可能被更改(若是委託被從新賦值,那麼註冊的方法的引用就都會被沖掉。+=是註冊,而=是所有刷掉再賦新的值給引用),而事件只能註冊。後續...........權限

 

圖解:引用

 

  《《當作筆記》》方法

相關文章
相關標籤/搜索