精華區beta NUU_CSIE 關於我們 聯絡資訊
花了半天~一天的時間 把C#的delegate和Event稍微看懂了一些 以下,開始分享: 首先,來講delegate 簡單來說,他就是Function Pointer 學弟妹看不懂沒關係,函數指標算是進階的程式設計 沒有學過也是很正常的,不過這邊我就不提了 除非有人需要,我會在另外貼一篇講解 那delegate既然是Function Pointer 有個Pointer,想必就是指到某個東西 而前面的英文修飾詞是「Function」,所以就是指向函數的指標 那好,要給delegate的函數,則型態必須同於delegate所宣告的樣板 Eg. public delegate void FuncPtr( void ); 在這邊,我用回傳值為void,且沒有參數的delegate 也就是這個delegate只能放如下類型的函數: void FuncName( void ); 那再來一個例子 Eg. public delegate int FuncPtr( int , float ); 像上面這個,他的delegate只能放如下函數: int FuncName( int , float ); 整體的用法大概就像下面這樣 public delegate void TestFunc( void ); public static void ShowSTH( void ) { Console.WriteLine("Hi, Mr.Hill ."); } static void main() { TestFunc FuncPtr = new TestFunc(ShowSTH); //Call ShowSTH Function FuncPtr(); } 在上面,可以看到ShowSTH assign 給 FuncPtr 用C/C++的話來說,就是FuncPtr指向ShowSTH 所以就可以呼叫FuncPtr,就代表呼叫ShowSTH這個Function delegate大致就是這樣的用法,有興趣的歡迎指教。 Event就留到下一篇,打的有點累了~"~ -- 【一路說到掛】 ︻ 空谷殘聲 簫中劍 蕭無人 簫中劍 空谷殘聲 簫中劍 瘋狂兌現俠道精神 黃文擇拒絕再配音的武痴傳人 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 122.118.48.6