委托

1. 委托的声明(定义)

委托的声明类似于函数定义,指定了一个返回类型和一个参数列表。但又不尽相同,不同之处:(1)要使用delegate关键字;(2)不带函数体。举例: 

delegatedouble ProcessDelegate(double param1, double param2);

ProcessDelegate:委托的名称。声明完后其实质就是一类型了,即“委托类型”。委托类型有多种用途:

(1)声明“委托类型”变量。

    ProcessDelegate process;

(2)用作函数参数类型,实质与声明变量一样。

    bool ExecuteProcess(ProcessDelegate process){;}

(3)用作定义事件的类型(委托类型),描述事件处理方法的原型(方法的返回类型和参数列表)。

    public event MessageHandler MyEvent;

 

2.委托类型变量的初始化

委托类型变量声明后,使用前必须先初始化。委托类型变量的初始化是对与委托有相同声明格式(即相同返回类型和参数列表)的函数的引用。之后,就可以使用委托变量调用这个函数,就像该变量是这个函数一样或当作函数的别名。

初始化方式有两种:

doubleDealWith(double p1, double p2) {;}

(1)ProcessDelegate process = DealWith; // 隐式初始化

(2)ProcessDelegate process = new ProcessDelegate(DealWith);//显式初始化

 

3.委托变量的使用

(1)作为函数使用,就像直接调用引用的函数。

    Console.WriteLine(“{0}”, process(p1, p2));

(2)作为参数传递给函数。

    bool flag = ExecuteProcess(process) 或bool flag = ExecuteProcess(DealWith);
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值