Beispiel #1
0
 internal AsyncExecuteCommandProcess(string processName, Action <object, DoWorkEventArgs> WorkerDelegate)
 {
     this.Name                  = processName;
     this.WorkerDelegate        = new Action <object, DoWorkEventArgs>(this.InternalWorker);
     this.outsideWorkerDelegate = WorkerDelegate;
     this.progressInfo          = new AsyncProgressInfo()
     {
         CompleteRatio = 0.0,
         Status        = AsyncProcessResult.Done
     };
 }
Beispiel #2
0
 private void InternalWorker(object sender, DoWorkEventArgs args)
 {
     if (!this.Cancel)
     {
         DoWorkEventArgs doWorkEventArgs = new DoWorkEventArgs((object)this.progressInfo);
         this.outsideWorkerDelegate(sender, doWorkEventArgs);
         this.progressInfo = (AsyncProgressInfo)doWorkEventArgs.Result;
         args.Result       = (object)this.progressInfo.Status;
     }
     else
     {
         args.Result = (object)AsyncProcessResult.Aborted;
     }
 }