コード例 #1
0
        /// <summary>
        /// 定时执行TimerItem
        /// </summary>
        /// <param name="id">Id</param>
        /// <param name="callback">回调函数</param>
        /// <param name="paras">回调函数参数</param>
        /// <param name="timePoints">时间点列表,时间点数值为某日初到指定时间点所间隔的秒数</param>
        /// <param name="week">执行的周日</param>
        /// <param name="times">执行的次数</param>
        public TimerItemTiming(object id, Action <object[]> callback, object[] paras, List <Double> timePoints, EWeek week = EWeek.Everyday, int times = 1)
            : base(id, callback, paras, times)
        {
            if (timePoints.Count == 0)
            {
                throw new Exception("至少需要设置一个时间点");
            }

            m_timePoints = timePoints;
            timePoints.Sort();
            m_week = week;
        }
コード例 #2
0
        EWeek DayOfWeekConvertToEWeek(DayOfWeek dayOfWeek)
        {
            EWeek week = EWeek.Monday;

            switch (dayOfWeek)
            {
            case DayOfWeek.Friday:
                week = EWeek.Friday;
                break;

            case DayOfWeek.Monday:
                week = EWeek.Monday;
                break;

            case DayOfWeek.Saturday:
                week = EWeek.Saturday;
                break;

            case DayOfWeek.Sunday:
                week = EWeek.Sunday;
                break;

            case DayOfWeek.Thursday:
                week = EWeek.Thursday;
                break;

            case DayOfWeek.Tuesday:
                week = EWeek.Tuesday;
                break;

            case DayOfWeek.Wednesday:
                week = EWeek.Wednesday;
                break;
            }

            return(week);
        }
コード例 #3
0
ファイル: Timer.cs プロジェクト: zjbsean/TM
        /// <summary>
        /// 添加绝对时间Timer
        /// </summary>
        /// <param name="callback">回调</param>
        /// <param name="paras">参数</param>
        /// <param name="timePoints">时间点列表,时间点数值为某日初到指定时间点所间隔的秒数</param>
        /// <param name="week">执行的周日</param>
        /// <param name="times">执行的次数</param>
        /// <returns></returns>
        public static object Add(Action <object[]> callback, object[] paras, List <double> timePoints, EWeek week = EWeek.Everyday, int times = 1)
        {
            if (callback == null)
            {
                SvLogger.Error("添加无效Timer");
                return(null);
            }

            object id    = new object();
            var    titem = new TimerItemTiming(id, callback, paras, timePoints, week, times);

            titem.Init();
            Add(titem);

            return(titem.ID);
        }