前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >今天来讲讲委托与事件的应用,用习惯后,你会发现新的世界

今天来讲讲委托与事件的应用,用习惯后,你会发现新的世界

作者头像
Shunnet
发布2021-06-11 15:23:29
2500
发布2021-06-11 15:23:29
举报
文章被收录于专栏:一路走一路失去也一路拥有

先来看看委托与事件的实现流程吧

  1. 1.声明委托
  2. 2.委托的实现
  3. 3.数据的回调
  4. 4.事件的绑定
  5. 最后得到想要的数据

下面是我画了几分钟时间写个小小流程

代码语言:javascript
复制
        public delegate void _GetInfo(string Info);  //声明委托
        public _GetInfo GetInfo;  //委托的实现

        /// <summary>
        /// 设置info
        /// </summary>
        public void SetInfo()
        {
            while (true)
            {
                int Count = RandomCount();//模拟无规律事件
                Thread.Sleep(Count);
                GetInfo(string.Format("我是一个无规律事件,这个事件当我等待了“{0}”毫秒", Count.ToString()));
            }
        }

        /// <summary>
        /// 模拟无规律事件,比如说硬件数据上报
        /// </summary>
        /// <returns></returns>
        public int RandomCount()
        {
            Random s = new Random();
            return int.Parse(s.Next(1000, 9999).ToString());
        }

        //按钮点击   设置info
        private void button1_Click(object sender, EventArgs e)
        {
            //以异步的形式
            ThreadPool.QueueUserWorkItem(s => SetInfo());

            //然后我们就绑定事件
            GetInfo += FormGetInfo;
        }

        /// <summary>
        /// 定义的事件 用来接收委托的回调数据
        /// </summary>
        /// <param name="Info"></param>
        private void FormGetInfo(string Info)
        {
            Console.WriteLine(Info);
        }

附上图片

委托加事件,实现符合场景的功能很简单

本文作者:[博主]大顺

本文链接:https://shunnet.top/yQVZzi

版权声明:转载注明出处,谢谢

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021-01-04,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档