C# 控制反转


主要目的:需要在业务逻辑层调用UI的弹框提示信息
代码是在记事本中写的,没有运行调试过,不保证能直接使用,看下思路就好

//接口
public
interface IShowData { void ShowMsg(string msg); } //UI层 public class ShowUI:IShowData { public void ShowMsg(string msg) {
     //使用Invock调用方法,这样能让方法在UI线程中执行
this.Invoke(new deleShowMsg(ShowMessageBox),msg); }
   //定义委托,调用方式时使用
public delegate void deleShowMsg(object msg);
   //弹出窗体的方法
public void ShowMessageBox(object obj) { MessageBox.Show(obj.ToString()); }
   //窗体加载事件
public void ShowUI_Load(object sender, EventArgs e) { ShowBLL bll = new ShowBLL();
     //把自己注册到BLL里面 bll.SetShowMsg(
this); } } //BLL业务逻辑层 public class ShowBLL { IShowData Ishow=null; public void SetShowMsg(IShowData ishow) { Ishow = ishow; }
   //在任意方法中调用
public void fun() { Ishow.ShowMsg("弹出显示信息"); } }
 

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM