protected virtual async void OnDoWork(Object argument) { if (!IsBusy) { bool DoWorkExists = true; e = new DoWorkEventArgsHelper(argument); await Task.Run(() => { if (DoWork != null) { IsBusy = true; DoWork(this, e); } else { DoWorkExists = false; } }); IsBusy = false; if (DoWorkExists) { e2 = new RunWorkerCompletedEventArgsHelper(true, null, false); } else { e2 = new RunWorkerCompletedEventArgsHelper(false, null, true); } if(RunWorkerCompleted != null) { RunWorkerCompleted(this, e2); } } else { var exception = new InvalidOperationException(); e2 = new RunWorkerCompletedEventArgsHelper(false, exception, true); } }
protected virtual async void OnDoWork(Object argument) { if (!IsBusy) { bool DoWorkExists = true; e = new DoWorkEventArgsHelper(argument); await Task.Run(() => { if (DoWork != null) { IsBusy = true; DoWork(this, e); } else { DoWorkExists = false; } }); IsBusy = false; if (DoWorkExists) { e2 = new RunWorkerCompletedEventArgsHelper(true, null, false); } else { e2 = new RunWorkerCompletedEventArgsHelper(false, null, true); } if (RunWorkerCompleted != null) { RunWorkerCompleted(this, e2); } } else { var exception = new InvalidOperationException(); e2 = new RunWorkerCompletedEventArgsHelper(false, exception, true); } }