internal void ScheduleInternal(ScheduleTask task)
        {
            ScheduleTask scheduleTask = this.updatingTask;

            if (this.dispatcherTokens[(int)task.Priority] != null)
            {
                return;
            }
            SchedulingService.DispatcherToken dispatcherToken = new SchedulingService.DispatcherToken(this, task.Priority);
            this.dispatcherTokens[(int)task.Priority] = dispatcherToken;
        }
 public void UnregisterTask(ScheduleTask task)
 {
     if (task.ReverseDependencies.Count > 0)
     {
         throw new ArgumentException(ExceptionStringTable.CantRemoveATaskThatOtherTasksDependOn);
     }
     foreach (ScheduleTask scheduleTask in task.Dependencies)
     {
         scheduleTask.ReverseDependencies.Remove(task);
     }
     task.Dependencies.Clear();
     this.taskDictionary.Remove(task.Name);
     this.taskList.Remove(task);
 }
 internal void SetUpdatingTaskInternal(ScheduleTask task)
 {
     this.updatingTask = task;
 }