Re: [心得] Dictionary<T,T> + delegate

看板C_Sharp作者 (不放過自己)時間15年前 (2010/03/31 21:13), 編輯推噓1(102)
留言3則, 2人參與, 最新討論串2/2 (看更多)
假設你因系統的設計, 需要定義出一些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)

03/31 21:35, , 1F
用C/C++的看法,就是你不用宣告一大堆函式指標,而用陣列
03/31 21:35, 1F

03/31 21:35, , 2F
查表的的方式
03/31 21:35, 2F

03/31 22:09, , 3F
了解
03/31 22:09, 3F
文章代碼(AID): #1BiqgCVH (C_Sharp)
文章代碼(AID): #1BiqgCVH (C_Sharp)