/// <summary> /// /// See <code>IAsyncOperationNoReturn.BeginExecuteOperation</code> for more details /// </summary> /// <param name="action_"></param> /// <param name="args_"></param> /// <param name="callback_"></param> /// <param name="state_"></param> public void BeginExecuteOperation(AsyncActionNoReturn<TA> action_, TA args_, AsyncCallback callback_, object state_) { if (null == action_) throw new ArgumentNullException(nameof(action_)); Action = action_; Arguments = args_; DoBeginExecuteOperation(callback_, state_); }
/// <summary> /// See <code>IAsyncOperationNoReturn.EndExecuteOperation</code> for more details /// </summary> /// <param name="operation_"></param> public void EndExecuteOperation(AsyncActionNoReturn<TA> operation_) { if (null == operation_) throw new ArgumentNullException(nameof(operation_)); if (!operation_.Method.Equals(Action.Method)) throw new ArgumentException("Attempt to end operation with non corresponding instance of AsyncThreadPoolOperation"); EndExecuteOperation(); }