為什麼這篇delegate c#用法鄉民發文收入到精華區:因為在delegate c#用法這個討論話題中,有許多相關的文章在討論,這篇最有參考價值!作者godman362 (Shizuru)看板NUU_CSIE標題[心得] delegate &am...
花了半天~一天的時間
把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