c 委託和事件

2022-07-07 20:48:12 字數 612 閱讀 6317

委託就是把乙個函式封裝成物件,強化了c#的物件導向特性, 用法還在摸索

事件是委託的特殊拓展,事件的使用主要包括:

1.委託的建立

public  delegate  void  xxeventhandler(parameter a,~);      //多播時返回只能是void,執行該委託時 3,5中的引數必須保持一致

2.定義事件                  

public  event  xxeventhandler xxevent;

3.委託(要完成的事情)的實現               //即事件發生時,需要被委託者做什麼事情

void serve(parameter a,~)

4.委託服務的訂閱(事件關聯)

觸發者.xxevent += new xxeventhandler(serve);        //引數可以是靜態方法也可以是某個例項的自有方法,在這一步我們定義的方法已經被封裝

//事件一般定義在觸發者的類裡,比如按鈕被點選這個事件, 點選事件就被定義在button類裡

5.事件觸發

觸發者.xxevent(paraa,~);

這樣在事件被觸發時,被委託者就可以執行我們訂閱的服務

C 事件和委託

c 程式設計中的事件驅動是說應用程式的執行流程是由外界發生的事件確定的。也就是接受到任務再工作的模式。事件是乙個訊號,它告知應用程式有重要的事情發生。真正的執 況是,各個應用程式把負責不同功能的物件在其執行期間送入windows作業系統,讓這些物件等待windows產生事件。然後加以處理,windo...

C 委託和事件

什麼是委託?委託和事件這兩個概念是完全配合的。委託僅僅是函式指標,那就是說,它能夠引用函式,通過傳遞位址的機制完成。委託是乙個類,當你對它例項化時,要提供乙個引用函式,將其作為它建構函式的引數 先看示例 例中先申明乙個委託,例如 public delegate void somedelegate s...

C 委託和事件

要為類構造乙個事件,必須用 event 來宣告乙個 delegate 型的字段,如 puclic calss test 在建立類的例項後定義這個 load 事件 test m new test m.load new eventhandler m load void m load object sen...