C#学习笔记(四):【委托】

【委托】 委托是一个特殊的类,用delegate修饰符;使函数可以作为参数被传递,作用上相当于C++中的函数指针。
委托是方法的抽象,它存储的就是一系列具有相同签名和返回回类型的方法的地址。调用委托的时候,委托包含的所有方法将被执行

public delegate void MyDelegate(int para1, string para2); 

简单委托示例:

 public delegate void DoSth(string str); // step01: 首先用delegate定义一个委托
    class Program
    {
        static void Main(string[] args)
        {
            DoSth SayHi = new DoSth(PrintStr);  //step02:  声明一个委托变量,并把已知方法作为其构造函数的参数
           
            SayHi.Invoke("Hello");  //通过委托的静态方法Invoke触发委托
            SayHi("Hi");         //委托变量(参数列表)
            Console.ReadLine();

        }
        //step03: 对应委托的方法
       static void PrintStr(string str)
        {
            Console.WriteLine(str);
        }
    }

○ 在CLR运行时,委托DoSth实际上就一个类,该类有一个参数类型为方法的构造函数,并且提供了一个Invoke实例方法,用来触发委托的执行。
○ 委托DoSth定义了方法的参数和返回类型

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值