Esempio n. 1
0
        protected virtual object Invoke(TaskStartInfo startInfo, params object[] args)
        {
            if (State == TaskState.Completed ||
                State == TaskState.Canceled ||
                State == TaskState.Idea)
            {

                if (this.workItem != null)
                    workItem.Dispose();

                this.workItem = new WorkItem(func, args);
                this.workItem.Task = this;
                this.workItem.Initialize();
                this.startInfo = startInfo;
                this.startInfo.task = this;

                TaskPool.Queue(this);

                return workItem.Result;
            }
            else
            {
                throw new WorkItemInvokeException("state");
            }
        }
Esempio n. 2
0
 public virtual void Invoke(TaskStartInfo startInfo)
 {
     base.Invoke(startInfo, null);
 }
Esempio n. 3
0
        public bool Restart(TaskStartInfo startInfo)
        {
            bool result;
            if (result = Cancel())
            {
                //Invoke(startInfo);
                TaskPool.Queue(this);
            }

            return result;
        }