示例#1
0
        /// <summary>
        /// See <code>IAsyncOperationNoArgs.BeginExecuteOperation</code> for more details
        /// </summary>
        /// <param name="action_"></param>
        /// <param name="callback_"></param>
        /// <param name="state_"></param>
        public void BeginExecuteOperation(AsyncActionNoArgs <TR> action_, AsyncCallback callback_, object state_)
        {
            if (null == action_)
            {
                throw new ArgumentNullException("action_");
            }

            Action = action_;
            DoBeginExecuteOperation(callback_, state_);
        }
示例#2
0
        /// <summary>
        /// See <code>IAsyncOperationNoArgs.EndExecuteOperation</code> for more details
        /// </summary>
        /// <param name="operation_"></param>
        /// <returns></returns>
        public TR EndExecuteOperation(AsyncActionNoArgs <TR> operation_)
        {
            if (null == operation_)
            {
                throw new ArgumentNullException("operation_");
            }

            if (!operation_.Method.Equals(Action.Method))
            {
                throw new ArgumentException("Attempt to end operation with non corresponding instance of AsyncThreadPoolOperation");
            }

            return(EndExecuteOperation());
        }