委托

delegate string Getstring();//定义一个委托类型


int x=4;
Getstring a=x.ToString; a指向x的ToString的方法
string s=a();//通过委托实例调用x.ToString的方法
string s=a.Invoke();通过invoke方法调用aa所引用的方法


Action 委托 系统内置的委托类型 指向一个没有返回值没有参数类型的方法


Action a=x.Tostring;
带有参数类型的,用泛型来约束参数类型    <>最多放置16个参数类型
Action<int>a; 定义一个带有参数int类型的 委托


Func 委托  系统内置 指向一个带有参数和返回值类型的方法


Func<int,int,int> a;  泛型最后一个为返回值类型前面的为参数类型


多播委托


Action a=test1;  Actiona+=test2;
当委托没有指定任何类型时,会报空
多播委托调用时,按照添加的顺序执行。只返回最后一个方法的返回值


取得多播委托的每一个方法


Action a ;
Delegate[]delegates =a.GetInvocationList();
foreach(delegate d in delegates)
{
d.DynamicInvoke(null);

}

匿名方法

Func<int,int,int> plus=delegate(int a1,int a2){

return a1+a2;}

Lambda表达式 

Func<int,int,int>plus=(a1,a2)=>{

return a1+a2;}

事件 Event 与委托的用法相同

事件只能在类中声明,只能在自身类中调用,不能在类的外不触发

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值