예제 #1
0
 /// <summary>
 /// 请注意如果需要前面执行的Command结果作为后面Command的参数,请加入invokeParas\rollbackParas中,不会二次调用,而且默认的Rollback方法第一个参数是method方法的结果
 /// </summary>
 /// <param name="o"></param>
 /// <param name="method"></param>
 /// <param name="invokeParas"></param>
 /// <param name="order"></param>
 /// <param name="rollbackMethod"></param>
 public Command(object o, string method, object[] invokeParas, InvokeOrder order, string rollbackMethod)
 {
     if (o == null)
     {
         throw new InvalidOperationException("操作对象不能为空!");
     }
     if (!GCL.Common.Tool.IsEnable(method))
     {
         throw new InvalidOperationException("调用对象方法不能为空!");
     }
     this.o              = o;
     this.invokeMethod   = method;
     this.invokeParas    = invokeParas;
     this.order          = order;
     this.rollbackMethod = rollbackMethod;
     this.rollbackParas  = new object[((invokeParas != null && invokeParas.Length > 0) ? invokeParas.Length : 0) + 1];
     rollbackParas[0]    = this;
     if (invokeParas != null && invokeParas.Length > 0)
     {
         Array.Copy(invokeParas, 0, rollbackParas, 1, invokeParas.Length);
     }
 }
예제 #2
0
 /// <summary>
 /// 请注意如果需要前面执行的Command结果作为后面Command的参数,请加入invokeParas\rollbackParas中,不会二次调用,而且默认的Rollback方法第一个参数是method方法的结果
 /// </summary>
 /// <param name="o"></param>
 /// <param name="method"></param>
 /// <param name="order"></param>
 /// <param name="rollbackMethod"></param>
 public Command(object o, string method, InvokeOrder order, string rollbackMethod) : this(o, method, null, order, rollbackMethod)
 {
 }
예제 #3
0
 /// <summary>
 /// 请注意如果需要前面执行的Command结果作为后面Command的参数,请加入invokeParas\rollbackParas中,不会二次调用,而且默认的Rollback方法第一个参数是method方法的结果
 /// </summary>
 /// <param name="o"></param>
 /// <param name="method"></param>
 /// <param name="invokeParas"></param>
 /// <param name="order"></param>
 public Command(object o, string method, object[] invokeParas, InvokeOrder order)
     : this(o, method, invokeParas, order, null)
 {
 }