/// <summary> /// Runs the worker async. /// </summary> /// <param name="argument">The argument.</param> public bool RunWorkerAsync(object argument) { if (this.IsBusy) { return(false); } _count++; DoWorkEventArgs args = new DoWorkEventArgs(argument); _eventHandler.BeginInvoke(this, args, _workerCallback, args); return(true); }
/// <summary> /// Extends BeginInvoke so that when a state object is not needed, null does not need to be passed. /// <example> /// doworkeventhandler.BeginInvoke(sender, e, callback); /// </example> /// </summary> public static IAsyncResult BeginInvoke(this DoWorkEventHandler doworkeventhandler, Object sender, DoWorkEventArgs e, AsyncCallback callback) { if (doworkeventhandler == null) { throw new ArgumentNullException("doworkeventhandler"); } return(doworkeventhandler.BeginInvoke(sender, e, callback, null)); }
void RunWorkerAsync(DoWorkEventHandler doWork, object argument) { m_CancelPending = false; if (doWork != null) { DoWorkEventArgs args = new DoWorkEventArgs(argument); AsyncCallback callback = new AsyncCallback(ReportCompletion); doWork.BeginInvoke(this, args, callback, args); } }