[問題] event 和 delegate
看了Event的使用
和delegate使用
我卻對delegate和event感到很模糊
我在想用C的角度 一般 要寫callback function 就用function pointer去指向function
後
再適當時機幫她呼叫
這點 使用delegate就做得到.....我還是無法理解event和delegate最重要的差異在哪
使用時機....
C++是比較麻煩 要指向class的non static function要用pointer to member
但似乎C#完全沒管這些 直接class.Function就可以傳給delegate了
另外想問個小問題
event的sender 假如 有個subscriber 和兩個不同class內的event註冊
當event發生 subscriber的function被呼叫了 sender進來
我怎麼知道 我要cast成哪個sender
相對的....我EventArgs e 我也不知道 e 該cast成什麼耶~?
目前想到這個 目前看書上也沒提到怎麼解決....還是根本沒這個困擾 我誤會了???
第三個問題是
通常event都宣告成public 直接 += new EventHandler( function)
但我想要寫一個SetEvent 的函式
使用者寫 SetEvent( function)
{我裡面幫他 += }
但我不知道
SetEvent(這裡面該填什麼 type耶)
我目前是寫
SetEvent( EventHandler E)
{
MyEvent += new EventHandler(E);
}
但是不給過....該怎麼改呢?
以上
請各位指點 thx
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 219.87.64.222
※ 編輯: QQ29 來自: 219.87.64.222 (05/13 12:53)
※ 編輯: QQ29 來自: 219.87.64.222 (05/13 13:37)
→
05/13 13:37, , 1F
05/13 13:37, 1F
→
05/13 13:38, , 2F
05/13 13:38, 2F
→
05/13 17:33, , 3F
05/13 17:33, 3F
→
05/13 17:34, , 4F
05/13 17:34, 4F
→
05/13 17:34, , 5F
05/13 17:34, 5F
→
05/13 18:53, , 6F
05/13 18:53, 6F
討論串 (同標題文章)
以下文章回應了本文 (最舊先):
完整討論串 (本文為第 1 之 7 篇):