- /* 定義一個 delegate */
- public delegate string MyDel(int id);
- /* 宣告一個 Method */
- public static string MethodA(int id)
- {
- return " { " + id + " } ";
- }
- /* 將 MethodA 指派給一個 MyDel */
- MyDel fu = MethodA;
- /* 接著就可以這樣呼叫 delegate */
- string result = fu(22);
- System.Console.WriteLine(result);
- /* 用 delegate 關鍵字建立 MyDel */
- MyDel fu = delegate(int id)
- {
- return " { " + id + " } ";
- };
- /* 用 Lambda 語法建立 MyDel */
- MyDel fu = (int id) => {
- return " { " + id + " } ";
- };
- /* 因為 MyDel 已經定義參數為 int 了,所以可以省略 int */
- MyDel fu = (id) => {
- return " { " + id + " } ";
- };
- /* 因為是單參數,所以可以省略小刮號 */
- MyDel fu = id => {
- return " { " + id + " } ";
- };
- /* 接著是單純的 return,所以可以省略大刮號跟 return */
- MyDel fu = id => " { " + id + " } ";
Ref:
匿名函式 (C# 程式設計手冊)
使用委派 (C# 程式設計手冊)