C#_委托详解

委托是什么?

字面理解:例如A要建一栋别墅,找到B建筑施工队,请B来建筑别墅。

委托类型规定方法的签名(方法类型):返回值类型、参数类型、个数、顺序。

委托变量可以用来存储方法的引用,相当于把函数当做参数传给另一个函数。

委托作用?

①通过委托调用更灵活。

②可以将不变代码进行封装隔离变化,更易于维护。

委托应用

①定义委托

[访问修辞]  delegale 返回类型  委托名(参数列表)

注:委托参数中目前语法不能省略参数名;委托是类型,与class同级,所以可以定义在类外。

②实例化委托

委托类型  委托变量 = new 委托名(方法名)

委托类型  委托变量 = 方法名

③使用委托

委托引用名(实参列表)

委托引用?.Invoke(参数)

示例一

 示例二

static void Main(string[] args)
{
  Cal cal1 = Add;
  Test(cal1); 
  
  //Test(new cal(Dec));
  Test(Dec)
  
}

泛型委托

顾名思义就是使用泛型来定义委托。

好处:简化委托的使用,可以自动生成委托。

系统预定义的泛型委托

示例

示例一  无参无返

 

示例二  有参无返

示例三  有参有返1 

 

Func泛型中类型分别是 传参1、传参2、返回值

 示例四  有参有返2

 

Func泛型中类型分别是 传参1、传参2、返回值

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值