C 學習筆記 委託與事件

2021-10-20 17:59:20 字數 1154 閱讀 4392

委託是一種程式特性,用於表示方法(方法的代表,方法的指標),通俗來說就是自己做不了的,通過委託任務給別人來完成。

在委託中,可以動態的增加或刪減具體方法與委託變數的關聯。

多播委託是指委託變數中有多個具體方法,委託變數執行時會按照具體方法加入的先後順序,執行具體方法。

1、宣告委託

//1、宣告委託

public delegate void sendmsgdelegate(string msg);

public delegate void recvmsgdelegate(string msg);

2、編寫委託的具體方法

//2、編寫委託方法

public void recvmsg(string msg)

3、建立委託變數

public sendmsgdelegate sendmsgdelegate;
4、關聯委託

public form1()

5、執行委託

sendmsgdelegate(textbox1.text.tostring());
事件是物件對外界資訊發生變化,產生的一種訊息響應機制,本質上就是乙個委託,是委託的進一步包裝

public event eventhandler click;

事件的參與者:傳送者(sender)接受者(receiver)

事件與委託的區別

1、事件不能直接賦值,更不能賦值為null,就是因為這樣可以避免使用者對事件的直接操作,造成底層**被清除,發生異常,起到乙個保護作用。

2、event物件中沒有invoke方法

事件與委託的使用情況

1、在大多數情況,二者都可以處理問題且沒有較大區別時,建議使用委託

2、在對控制項進行二次開發時,必須使用事件

事件使用的一般步驟

1、宣告委託

2、定義事件

3、激發事件

4、編寫事件響應方法

5、關聯/移除事件

ps:在接受者中,編寫響應方法和關聯/移除事件。傳送者激發事件。

參考**:

C 委託與事件之學習

一 c 委託類 委託類似於函式指標,但函式指標只能引用靜態方法,而委託既能引用靜態方法,也能引用例項方法。委託使用分三步 1 委託宣告 2 委託例項化 3 委託呼叫。例程一 程式 using system namespace 委託 private int add int num1,int num2 ...

委託與事件學習筆記1 什麼是委託?

女兒想吃棒冰了,但又不想自己頂著太陽出去買 買棒冰是乙個method 所以她叫他倒霉的老爸去買 delegate 最後女兒吃到了棒冰。這就是乙個委託的過程。接下去,讓我們看看一些對委託的解釋 委託是用來處理其他語言 如 c pascal 和 modula 需用函式指標來處理的情況的。不過與 c 函式...

c 委託與事件

c 委託與事件 心得 c 用委託來實現事件通知機制。委託相當與c 函式指標。整個過程涉及乙個呼叫者,乙個被呼叫者,還有就是這個委託。實現步驟有以下幾步 1.申明委託,2.定義呼叫者和呼叫的函式,3.定義被呼叫者和具體實現的函式 被呼叫的函式 1.申明委託 在包裡或者類裡,public public ...