コード例 #1
0
        private void On_DelayTimer_Tick(object sender, EventArgs e)
        {
            DelayTask currentTask = _TaskQueue[_CurrentTaskIndex];

            if (currentTask.CanRun == null)
            {
                RunTask();
            }
            else
            if (currentTask.MaxAttempts > 0)
            {
                currentTask.AttemptCount++;
                if (currentTask.CanRun() || currentTask.AttemptCount >= currentTask.MaxAttempts)
                {
                    RunTask();
                }
            }
            else
            if (currentTask.CanRun())
            {
                RunTask();
            }
        }