技术思绪摘录旅行笔记
委托和事件在面试题中出现很多次,很多人都只是知道概念和定义,这篇文章,用一个案例来告诉大家,委托在开发中是干啥的。

首先说一下场景:

    我有个任务调度的Job类,还有个窗体,我的任务执行的时候,需要去窗体那边弹个框提示下,并且窗体和任务调度同时打开的。


分析一下:

弹框的动作可以封装一个方法,并且是窗体来完成的。

那么,我可以把委托写在窗体的代码里面。

最终,我任务调度类只需要来调用一下就行。


    public partial class FrmMain : Form
    {
        public delegate void ShowTips(string num);//创建委托
        public static ShowTips tips;//声明事件
        
        public FrmMain()
        {
            InitializeComponent();
            tips+= ShowInfo;//给事件绑定执行的真实事件
        }
        /// <summary>
        /// Does the tips.
        /// </summary>
        /// <param name="num">The number.</param>
        /// <param name="color">The color.</param>
        public static void DoTips(string num)
        {
            Tips(num);
        }
        /// <summary>
        ///弹框
        /// </summary>
        /// <param name="num">The number.</param>
        public void ShowInfo(string num)
        {
            MessageBox.Show("传值为"+num);
        }
    }

最后在我的任务调度类中,进行调用

FrmMain.tips("1111");

代码实现了解耦,调度类中不需要知道具体方法是哪个,长啥样,都不需要关心


CarsonIT 微信扫码关注公众号 策略、创意、技术

留下您的脚步

 

最近评论

查看更多>>

站点统计

总文章数:275 总分类数:18 总评论数:88 总浏览数:124.80万

精选推荐

阅读排行

友情打赏

请打开您的微信,扫一扫