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); }
private void OnWorkItemFinished(WorkItemFinishedEventArgs eventArgs) { WorkItemFinished?.Invoke(this, eventArgs); }