public void DoWork(TaskParameters p) { if (Executed != null) { Executed(p.Parameters); } }
void Exec(object p) { TaskParameters tp = (TaskParameters)p; DoWork(tp); if (OnComplete != null) { OnComplete(this, EventArgs.Empty); } Done = true; }
public void Execute(params object[] parameter) { Done = false; TaskParameters p = new TaskParameters(); p.Parameters = parameter; Task = new Thread(new ParameterizedThreadStart(Exec)); Task.Priority = ThreadPriority.Lowest; Task.Start(p); }