Func和Action委托在代码中的写法
Func和Action这两个东西可以说是为代码简化了不少东西,不仅我们在平时用的多,就连微软自己也经常在用它们,最近看了orchard项目,就发现很多这种的匿名方法和lambda表达式。
这是缓存对象时用委托,它
这是建立orchard有时,它使用了Action委托
下面我对Func和Action委托的调用方法用代码说明一下:
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 /// 一个输入参数,一个返回值的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 /// 一个输入参数的Action 40 /// </summary> 41 public void Action1(int a) 42 { 43 Set1(a, (i) => //1个参数时,扩括号可以省略 44 { 45 Console.WriteLine(i, a); 46 }); 47 } 48 49 /// <summary> 50 /// 没有参数的Action 51 /// </summary> 52 public void Action2(int a) 53 { 54 Set2(a, () => 55 { 56 Console.WriteLine("您输入的内容是:{0}", a); 57 }); 58 } 59 }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 记一次.NET内存居高不下排查解决与启示