2015年8月3日 星期一

[UWP-C#] Delegate - 委派型別

Delegate,委派型別,你可以把它當成用來儲存事件的資料型態。

舉例來說,我們都知道int是儲存整數的資料型態,而String是用來儲存字串的資料型態。

而Delegate是用來儲存事件的資料型態,看完這句話後在來看以下的程式碼。

是不是比較能理解了,前兩個是很常見的儲存int及String的資料型態,而第三個是儲存沒有回傳值及沒有傳入值的方法。

那我們該怎麼使用這個Delegate呢,先產生一個符合條件(無回傳值 無傳入值)的方法。

接著就可以呼叫了,這裡整理出了三種用法。

此外,也可以使用泛型(Generics)來定義你的Delegate方法,也就是使用角括號<T>。

當你要使用的時候在決定要丟入什麼樣的型態,就像下面這個例子。


代表我要給使用者定義兩個資料型態,TResult是回傳值,TArg0是輸入值,當使用者定義完之後就可以使用了,就像是下面的例子。

這樣一來你應該會對Delegate有一定的認識了。