System.ComponentModel.BackgroundWorker.WorkerThreadStart C# (CSharp) Method

WorkerThreadStart() private method

private WorkerThreadStart ( object argument ) : void
argument object
return void
        private void WorkerThreadStart(object argument)
        {
            object workerResult = null;
            Exception error = null;
            bool cancelled = false;
            
            try
            {
                DoWorkEventArgs doWorkArgs = new DoWorkEventArgs(argument);
                OnDoWork(doWorkArgs);
                if (doWorkArgs.Cancel)
                {
                    cancelled = true;
                }
                else
                {
                    workerResult = doWorkArgs.Result;
                }
            }
            catch (Exception exception)
            {
                error = exception;
            }

            RunWorkerCompletedEventArgs e = 
                new RunWorkerCompletedEventArgs(workerResult, error, cancelled); 

            asyncOperation.PostOperationCompleted(operationCompleted, e);
        }