网站首页 博客 C#的SetTimeout和SetInterval
C#的SetTimeout和SetInterval
 2020-01-09 10:54:56  管理员  1442

函数定义如下:

        /// <summary>
        /// 在指定时间过后执行指定的表达式
        /// </summary>
        /// <param name="interval">时间(以毫秒为单位)</param>
        /// <param name="action">要执行的表达式</param>
        /// <return>返回timer对象</return>
        public System.Timers.Timer SetTimeout(Action action, double interval)
        {
            var timer = new System.Timers.Timer(interval);
            timer.Elapsed += (sender, e) =>
            {
                timer.Enabled = false;
                action();
            };
            timer.Enabled = true;
            return timer;
        }

        /// <summary>
        /// 在指定时间周期重复执行指定的表达式
        /// </summary>
        /// <param name="interval">时间(以毫秒为单位)</param>
        /// <param name="action">要执行的表达式</param>
        public void SetInterval(Action action, double interval)
        {
            var timer = new System.Timers.Timer(interval);
            timer.Elapsed += (sender, e) => { action(); };
            timer.Enabled = true;
        }


来说两句吧
最新评论