日期:2014-05-18  浏览次数:20840 次

结构优化的一个问题
我现在用 BLL DLL + 微软企业库 操作数据库

因为联合操作比较多 经常要用事务

基本上 每次多表操作 都要在 BLL ,DLL 增加 一个方法 

有没有这样一种方案 实现 通用事务处理呢

类似 javascript 的写法 把方法作为参数 传递给另外一个方法处理

function a( function() c, function() d)
{
  using(conn)
 {
  conn.open
  tran=conn.begintran
  try
  {
  c(object, tran)
  d(object, tran)
  tran.Commit();
  }
  catch
  {

  }

  }
}

------解决方案--------------------
使用“委托”

至于委托是啥,怎么用我就不多废话了,google把,大把大把的资料
------解决方案--------------------
使用委托
------解决方案--------------------
C# code

        public delegate void b(string strData);

        private readonly c _delegateMethod;

        public UCMessageInfo(b delegateMethod)
        {
            _delegateMethod = delegateMethod;
        }
        
        using (UCMessageInfo myCtrl = new UCMessageInfo(doClick))
        {
            return;
        }
        
        private void doClick(string sData)
        {
            //
        }

------解决方案--------------------
用委托,把事件当成一个方法集合.
------解决方案--------------------
楼主问的难道不是委托吗?
很惊讶,楼主在不知道委托的情况下还能做这么底层的工作。