/// <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); } }
/// <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) { }
/// <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) { }