看板 C_Sharp 關於我們 聯絡資訊
假設你因系統的設計, 需要定義出一些Event, 並且在特定的時刻觸發. 如果你規劃出有20個Event好了, 簡單的做法是你如實宣告20個Event Handler, 然後在那些特定時刻去判定特定的Event Handler是否有效, 以便進行調用. 如果Event只有少少幾種還好, 若是宣告一大堆Event Handler, 還要一一維護是蠻麻煩的事, 而且會有看起來太多重覆且冗長的程式碼, 所以就利用Dictionary來做Event Table的模擬, 這樣就可以大大簡化維護與管理諸多Event的工作. 至於Event Handler是否有實作, 就留給你自己或其他開發者視情況實作囉~ ※ 引述《F23ko (純潔)》之銘言: : Dictionary<Tkey,Titem> + delegate : MSDN中有提到用Dictionary裝delegate的方法 : 自己拿來變化了一下 : http://msdn.microsoft.com/zh-tw/library/z4ka55h8(v=VS.90).aspx : accessor-declarations 的用法之一是公開大量的事件但不配置每個事件的欄位 : ,而是改用字典來儲存事件執行個體。 : 不過,這只在您擁有大量的事件,但預期大多數事件都不會實作的情況下才有用。 : 不過.... 我想請問紅字部分為什麼會這樣說? -- 對於已經無法擁有的 唯一能做的是 不要忘記 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.41.66.145 ※ 編輯: petrushka 來自: 114.41.66.145 (03/31 21:16) ※ 編輯: petrushka 來自: 114.41.66.145 (03/31 21:17) ※ 編輯: petrushka 來自: 114.41.66.145 (03/31 21:18)
petrushka:用C/C++的看法,就是你不用宣告一大堆函式指標,而用陣列 03/31 21:35
petrushka:查表的的方式 03/31 21:35
F23ko:了解 03/31 22:09