by Aucer
(將往日所學到、使用的編程技術進行一個系統性的整理
方便自己在專案中使用時,能夠迅速的使用,若有錯誤,請多多指教)
【使用目的】
為什麼要用委託? 【因為它可以將各個模塊(.cs)進行隔離】
解偶各個模塊
避免直接調用其他模塊的方法
通過註冊(綁定)、移除註冊(解綁) 來控制方法的調用
【使用時機】
當在一個"方法"後,有"事件"(單複數皆可)要進行調度,但是"事件"的具體執行內容未定。
就可以把("事件")它當作方法的"行參(執行參數)",來進行定義。
ex: 遊戲開始,初始化時
定義時,以委託來表示。
【描述】
把委託當作是方法的一種抽象。
之後,調用時就可以從外部把方法傳遞進來。
主要是在設計程式架構時使用
【使用頻率】
主要用到四種(前兩者頻率較高)
Action 將方法當成參數調用。 定義、 註冊、 移除、 調用 (不支持返回值)
Func 支持綁定帶有返回值的方法(必須有返回值)
Delegate 帶或不帶返回值皆可
Event 對Delegate的封裝
【使用步驟】
1.定義好委託
2.綁定、解綁(移除綁定)關聯的方法
3.當委託調度(所有已綁定的關聯方法都會執行一次)
之後會在Unity中將Action、Func、Delegate、Event 分別做幾個範例。