public ParallelTaskResult Execute() { ParallelTaskResult result = new ParallelTaskResult(); OnExecuting(result); if (result.Status == ExecutionStatus.OK) { ExecuteCore(result); } OnExecuted(result); return(result); }
protected virtual void OnExecuted(ParallelTaskResult result) { }
protected abstract void ExecuteCore(ParallelTaskResult result);
public virtual void OnException(ParallelTaskResult result, AggregateException ex) { result.Status = ExecutionStatus.Error; result.Exception = ex; }
protected override void ExecuteCore(ParallelTaskResult result) { _callback(_tState); }