首先说一下场景:
我有个任务调度的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");
代码实现了解耦,调度类中不需要知道具体方法是哪个,长啥样,都不需要关心
留下您的脚步
最近评论