protected virtual void OnStatusChangedHandler(object sender, GroupStatusChangedEventArgs e) { lock (sync) { if (!cancelRequested) { EventHandler <GroupStatusChangedEventArgs> handler = StatusChanged; if (handler != null) { commandQueue.Register( new EventWrapper <GroupStatusChangedEventArgs> ( handler, this, e ) ); } } } }
protected virtual void OnTaskCompleted(TaskCompletedEventArgs e) { AsyncCommandQueue queue = commandQueue; EventHandler <TaskCompletedEventArgs> handler = Completed; if (queue != null) { queue.Register(new CommandWrapper(delegate { if (handler != null) { handler(this, e); } })); } else if (handler != null) { ThreadPool.QueueUserWorkItem(delegate { handler(this, e); }); } }
protected virtual void OnStatusChanged(TaskStatusChangedInfo tsci) { AsyncCommandQueue queue = commandQueue; EventHandler <TaskStatusChangedEventArgs> handler = StatusChanged; if (queue != null) { queue.Register(new CommandWrapper(delegate { TaskStatusChangedEventArgs e = new TaskStatusChangedEventArgs(tsci); if (handler != null) { handler(this, e); } })); } else if (handler != null) { ThreadPool.QueueUserWorkItem(delegate { handler(this, new TaskStatusChangedEventArgs(tsci)); }); } }