代表和事件是使用c#語言兩個非常重要的概念,如果你不會使用代表和事件,那就說明你不會用c#進行軟體開發。
代表(delegate):
它是c#語言裡面的函式指標,代表可以指向某乙個函式,在執行的時候呼叫這個函式的實現。下面來看看它的實現步驟:
宣告乙個delegate物件。
實現和delegate具有相同引數和返回值的函式實現(可以是靜態和非靜態的)。
產生乙個delegate物件的時候,把你剛剛實現的函式作為引數傳給他的建構函式。
請看下面例子:
using system;
using system.collections.generic;
using system.text;
namespace usingdelegate
//實現有相同引數和返回值的靜態函式
public static void hellostaticdelegate(string mystaticdelegate)
}class program}}
事件(event):
讓我通過乙個例子來模擬事件的整個過程:
建立乙個button類,它裡面有乙個click 事件。
建立乙個form類,他裡面有乙個我們上面定義的button類。
要求:當我們使用者單擊button類的時候from類要對他進行處理,輸出一條資訊「我知道你被單擊了」
請看下圖:
首先我們會單擊button,然後button會通知form,然後from就作出相應。這個過程在c#裡面應該怎麼做到呢?
下面我會列出上述例子的源**(這裡就不介紹怎麼宣告event等等內容了):
using system;
using system.collections.generic;
using system.text;
namespace usingevent}}
public class myform
}class program}}
note:public delegate void clickeventhandler(object sender, eventargs e);這是事件委託標準的宣告方法,其實在引數裡面我們可以不傳,也可以是其他型別的。但是最好還是使用上面的宣告方法,你可以繼承eventargs,來包裝你要傳送的其他任何引數。
C 代表(delegate)和事件 event
代表 delegate 它是c 語言裡面的函式指標,代表可以指向某乙個函式,在執行的時候呼叫這個函式的實現。下面來看看它的實現步驟 宣告乙個delegate物件。實現和delegate具有相同引數和返回值的函式實現 可以是靜態和非靜態的 產生乙個delegate物件的時候,把你剛剛實現的函式作為引數...
C 代表(delegate)和事件 event
代表 delegate 它是c 語言裡面的函式指標,代表可以指向某乙個函式,在執行的時候呼叫這個函式的實現。下面來看看它的實現步驟 宣告乙個delegate物件。實現和delegate具有相同引數和返回值的函式實現 可以是靜態和非靜態的 產生乙個delegate物件的時候,把你剛剛實現的函式作為引數...
C 代表(delegate)和事件 event
代表 delegate 它是c 語言裡面的函式指標,代表可以指向某乙個函式,在執行的時候呼叫這個函式的實現。下面來看看它的實現步驟 宣告乙個delegate物件。實現和delegate具有相同引數和返回值的函式實現 可以是靜態和非靜態的 產生乙個delegate物件的時候,把你剛剛實現的函式作為引數...