public void Enqueue <T1, T2>(Func <T1, T2> function, T1 input,
                                     WorkItemFinished method = null)
        {
            var item = new FuncWorkItem <T1, T2>(function, input);

            if (method != null)
            {
                item.FinishedEvent += method;
            }
            queue.Add(item);
        }
        public void Enqueue(Action action, WorkItemFinished method = null)
        {
            var item = new FuncWorkItem <int, int>(i => {
                action.Invoke();
                return(1);
            }, 1);

            if (method != null)
            {
                item.FinishedEvent += method;
            }
            queue.Add(item);
        }
Ejemplo n.º 3
0
 private void OnWorkItemFinished(WorkItemFinishedEventArgs eventArgs)
 {
     WorkItemFinished?.Invoke(this, eventArgs);
 }