C#学习笔记之委托的各种写法
2016-07-05 14:01
281 查看
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace 委托的概念 { // 声明一个委托指向一个方法; // 委托必须和方法有同样的参数和返回值。 public delegate void DelSayHi(string name); class Program { static void Main(string[] args) { /// <summary> /// 委托是一个类型安全的对象,他指向程序中将被调用的一个方法或多个方法。通俗的说,委托就是一个函数指针, /// 是一个可以引用方法的对象,当创建一个委托,也就创建一个引用方法的对象,进而可以调用那个方法。即委托 /// 可以调用它所指的方法。 /// /// 1、定义委托类型: /// [访问修饰符] delegate 返回类型 委托名(形参); /// 2、声明委托对象: /// 委托名 委托对象名; /// 3、创建委托对象,绑定方法: /// 写法1:委托名 委托对象名 = 方法名; /// 写法2:委托名 委托对象名 = new 委托名(方法名); /// 4、使用委托调用方法: /// 委托对象名(实参); /// /// 委托注意事项: /// 1、委托和方法必须具有相同的参数和返回值; /// 2、委托可以调用多个方法; /// </summary> // 委托的写法: // 写法1: //DelSayHi del = SayHello; //del("Jack"); // 写法2: //DelSayHi del = new DelSayHi(SayHello); //del("Lucy"); // 写法3:匿名函数 DelSayHi del = delegate(string name) { //string strName = name; //Console.WriteLine("Hello," + strName); SayHello(name); }; del("Tom"); // 使用委托调用方法 // 写法4:lamda表达式 //DelSayHi del = (string name) => { // //string strName = name; // //Console.WriteLine("Hello," + strName); // SayHello(name); //}; //del("Ken"); Console.ReadKey(); } /// <summary> /// 委托要调用的方法 /// </summary> /// <param name="name"></param> public static void SayHello(string name) { Console.WriteLine("Hello," + name); } } }
相关文章推荐
- C#实例复制和深度复制的实现
- C#学习笔记之条形码和二维码
- C# 右下角弹出提示框popup窗口
- C#基础
- C#实现同Active MQ通讯的方法
- ActiveMQ在C#中的应用示例分析
- C#学习篇(三)C#关键字this和base
- C# Winform中如何让PictureBox的背景透明
- C#基础之lock
- C#6.0新特性
- C#计算器编写代码
- 简单实现C#窗体程序判断是否闰年
- winform、C# 自动更新
- 一句话概括C# . NET VS 关系
- C#利用正则判断输入是否为纯数字、容器类
- C#实现的字符串转MD5码函数实例
- 批量删除C#注释(适用于vs开发环境)
- C#基于COM方式读取Excel表格的方法
- 『C#基础』多线程笔记「三」计时器
- 『C#基础』IIS的权限问题