delegate(委托) -- event(事件) 基础应用

目录

一、概念

1、delegate 概念

2、event 概念

三、delegate 委托案例

1、delegate 基础案例

2、Action 无参案例

3、 Action 一个参数案例

4、 Func 一个参数和一个返回值案例

四、 event 事件案例

五、 委托异步调用

1、AsyncCallback 日志记录

2、AsyncWaitHandle.WaitOne 阻塞

3、EndInvoke 获取异步结果


涉及知识点: delegate  event  基础应用

一、概念

1、delegate 概念

delegate    一般定义在类的外部
                     添加的方法,要求:入参类型和返回值类型一致
Action -- 官方提供,无返回值泛型委托,最多设置16个参数
Func   -- 官方提供,有返回值泛型委托,(返回值为最后一个参数)最多设置16个参数
           多个委托一起调用时,返回值只可接收最后一个委托的返回值

2、event 概念

 event 事件是delegate的安全版本
 事件只可在定义的类中调用,在其他类中,只可添加或删除

三、delegate 委托案例

1、delegate 基础案例

代码编写:

    //委托定义
    public delegate void HolleDelegate();
    internal class Program
    {
        static void Main(string[] args)
        {
            //委托创建
            HolleDelegate holleDelegate = new HolleDelegate(Holle);

            //委托添加
            holleDelegate += World;
            //委托调用
            holleDelegate.Invoke();

            Console.WriteLine("---------");
            
            //委托删减
            holleDelegate -= World;
            //委托调用
            holleDelegate.Invoke();

        }
        public static void Holle() => Console.WriteLine("你好啊");

        public static void World() => Console.WriteLine("世界");
    }

结果显示:

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值