Func和Action委托在代碼中的寫法Func和Action這兩個東西可以說是為代碼簡化了不少東西,不僅我們在平時用的多,就連微軟自己也經(jīng)常在用它們,最近看了orchard項目,就發(fā)現(xiàn)很多這種的匿名方法和lambda表達式。 這是緩存對象時用委托,它 這是建立orchard有時,它使用了Action委托 下面我對Func和Action委托的調(diào)用方法用代碼說明一下: 1 class Action_Fun的委托用法 2 { 3 string Get1(int key, Func<int, string> acquire); 4 5 string Get2(int key, Func<string> acquire); 6 7 void Set1(int key, Action<string> acquire); 8 9 void Set2(int key, Action acquire); 10 11 /// <summary> 12 /// 一個輸入?yún)?shù),一個返回值的Fun 13 /// </summary> 14 /// <returns></returns> 15 public string Fun1() 16 { 17 return Get1(1, a => 18 { 19 if (a == 1) 20 return "ok"; 21 else 22 return "fail"; 23 }); 24 } 25 /// <summary> 26 /// 只有返回值的Fun 27 /// </summary> 28 /// <returns></returns> 29 public string Fun2() 30 { 31 return Get2(1, () => 32 { 33 return "fail"; 34 }); 35 36 37 } 38 /// <summary> 39 /// 一個輸入?yún)?shù)的Action 40 /// </summary> 41 public void Action1(int a) 42 { 43 Set1(a, (i) => //1個參數(shù)時,擴括號可以省略 44 { 45 Console.WriteLine(i, a); 46 }); 47 } 48 49 /// <summary> 50 /// 沒有參數(shù)的Action 51 /// </summary> 52 public void Action2(int a) 53 { 54 Set2(a, () => 55 { 56 Console.WriteLine("您輸入的內(nèi)容是:{0}", a); 57 }); 58 } 59 } |
|
|
來自: 昵稱10504424 > 《C#》