c#委托把方法当成参数
2023-09-14 08:57:24 时间
//定义委托,它定义了可以代表的方法的类型 public delegate void GreetingDelegate(string name); /// <summary> /// 用英文打招呼 /// </summary> /// <param name="name"></param> private void EnglishGreeting(string name) { Console.WriteLine("Morning, " + name); } /// <summary> /// 用中文打招呼 /// </summary> /// <param name="name"></param> private void ChineseGreeting(string name) { Console.WriteLine("早上好, " + name); } //注意此方法,它接受一个GreetingDelegate类型的方法作为参数 /// <summary> /// 委托(代理的方法) /// </summary> /// <param name="name"></param> /// <param name="markGreeting"></param> private void GreetPeople(string name, GreetingDelegate MakeGreeting) { MakeGreeting(name); } private void Form1_Load(object sender, EventArgs e) { //Delegate方式一: //GreetPeople("Jimmy Zhang", EnglishGreeting); //GreetPeople("张子阳", ChineseGreeting); //Console.ReadKey(); //Action方式二: GreetPeopleAction("Jimmy Zhang", (s) => { Console.WriteLine("Morning, " + s); }); GreetPeopleAction("张子阳", (s) => { Console.WriteLine("早少好, " + s); }); Console.ReadKey(); } /// <summary> /// Action委托作为参数 /// </summary> /// <param name="name"></param> /// <param name="action"></param> public void GreetPeopleAction(string name, Action<string> action) { action(name); }
相关文章
- C#设计模式——(结构型-代理设计模式)
- 【Android 逆向】ART 脱壳 ( 修改 /art/runtime/dex_file.cc#OpenCommon 系统源码进行脱壳 )
- 分享一个c#写的开源分布式消息队列equeue
- c#完美截断字符串代码(中文+非中文)
- ToString()使用方法汇总(c#)
- C#操作XML文档使用XmlDocument类方法
- C#归并排序的实现方法(递归,非递归,自然归并)
- 在C#中webbrowser的使用心得
- C#L型棋牌覆盖实现代码与效果
- 深入c#GDI+简单绘图的具体操作步骤(二)
- C#技巧之快速删除bin和obj文件夹的方法
- C#学习进阶HelloWorld的17种写法代码分享
- c#转换全角半角方法示例
- c#委托把方法当成参数(实例讲解)
- C#执行Javascript代码的几种方法总结
- C#之Expression表达式树实例
- C#引用类型作为方法的参数分析
- C#自定义字符串替换Replace方法实例
- C#WinForm实现Win7Aero透明效果代码
- C#播放铃声最简单实现方法
- C#实现把彩色图片灰度化代码分享
- C#实现快捷键的几种常用方法汇总
- C#中委托和事件的区别实例解析