事件 CLR學習第十課

2022-01-29 05:53:48 字數 652 閱讀 7182

一、 事件:允許物件登記事件;允許物件登出事件、允許定義事件的物件維持乙個登記物件的集合,並

在某些特定的事件發生時通知這些物件。

clr的事件是建立在委託(delegate)上的。

二、事件只能由事件的型別登記或者登出。事件其實是乙個靜態函式。

三、事件繼承自,sysetm.eventargs;命名規則是事件應該以eventargs結尾。委託應該以eventhandler結

尾。為的是命名標準。

四、事件的本質是委託,定義乙個事件時,c#編譯器會生成1個委託型別的私有字段,乙個add_+事件名,

乙個remover_+事件名的 2個public的方法。乙個用於註冊事件,乙個用於登出事件。2個方法都有乙個委

託型別的引數,他們分別掉用delegae的combine和remove方法。

五、用+=來登記事件,-=來登出事件。也可以顯示的定義事件的登記和登出方法,優點效率高,不需要加

載多餘的事件,因為有時我們只需要幾個事件,但編譯器會自動載入上所有的事件需要的委託,導致效能

降低。缺點實現麻煩。

六、事件登記集合:是乙個實現了hashtale的方法,並用乙個索引器,實現事件的登記。clr中用

system.componmentmodel.eventhanhlerlist的型別作為事件登記集合。

第十課學習

按鍵在未按下時,處於一種高電平狀態,一般這種情況下,其對io口的電平一致,則不會產生任何效果,只有在按下狀態時,由於與接地的迴路貫通,故相當於微控制器的io口直接接地。從原理圖上看,之所以要接keyin1 keyin4外接至按鍵中,主要原因是為了獲取按鍵的狀態,因為我們只能獲取微控制器的io口狀態,...

第十課 邊框

無邊框 border style none 虛線邊框 border style dotted 虛線邊框 border style dashed 實線邊框 border style solid 雙邊框 border style double 凹槽邊框 border style groove 壟狀邊框 ...

第十課 函式

第十課 函式 一.定義函式 def 函式名 引數1,引數2,文件描述 函式體return 值 def 定義函式的關鍵字 函式名 函式名指向函式記憶體位址,是對函式體 的引用。函式的命名應該反映出函式的功能 括號 括號內定義引數,引數是可有可無的,且無需指定引數的型別 冒號 括號後要加冒號,然後在下一...