事件與委託

2021-08-19 09:37:37 字數 559 閱讀 5994

最近發現unityaction的動態呼叫很好用,於是又深入學習了下事件與委託,同時看了下springgui作者的源**,感覺自己還有很長的路要走。

這裡和大家分享一下。

自定義乙個unityevent需要繼承unityevent類,支援最多四個引數的過載。通過某個值的變動來呼叫事件。例如

[serializefield]

private pageguidevent m_onchangepage = new pageguidevent();

public pageguidevent onchangepage

set

} private int m_int = 1;

/// /// 當前頁碼

///

public int number

set}

這是我自己定義的乙個頁碼條的功能,自定義了乙個onchangepage事件,可以接受引數為int的方法。公有欄位number可以訪問或者設定頁碼數,當設定頁碼的時候,也就是頁碼數改變的時候,將事件告訴所有註冊了的方法。這樣可以非常靈活的呼叫各種函式。

委託與事件

1.建立乙個類,分別建立加 減 乘 除四個方法,通過委託和事件,實現 輸入兩個計算數,完成所有的四個方法的呼叫,計算出結果顯示。建立乙個警察 policeman 類,乙個小偷 thief 類,例項化兩個類的物件,當policeman類中警笛鳴響 alarm 方法執行時,觸發小偷逃跑 runaway ...

委託與事件

委託就是以方法做引數進行傳遞,它定義的是方法的框架,如果用這個委託,所宣告的方法就必須按照給定的引數及返滬型別進行處理。宣告委託的方式 delegate 返回值型別 委託型別名 引數 比如delegate void stringprocess string s 注意這裡的除了前面的delegate,...

委託與事件

委託與事件 一 委託 delegate 1 委託是一種可以把引用儲存為函式的型別。2 在定義了委託後,就可以宣告該委託型別的變數,接著把這個變數初始化為與委託有相同返回型別和引數類別的函式引用,之後,就可以使用委託變數呼叫這個函式,就像該變數是乙個函式一樣。如 double multiply dou...