参考Javascript中的setTimeout方法,在C#中实现SetTimeout延时执行功能

时间:2019-5-23 作者:WilliamChan

大家都知道Javascript中的setTimeout方法,该方法用于在指定的毫秒数后调用函数或计算表达式。
语法

 setTimeout(code,millisec)

参数 描述
code 必需。要调用的函数后要执行的 JavaScript 代码串。
millisec 必需。在执行代码前需等待的毫秒数。
示例

setTimeout("alert('1 seconds!')",1000)

接下来让我们在C#中实现 SetTimeout 方法

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

使用时这么来:

SetTimeout(()=>{ MessageBox.Show("3秒后执行");},3000);

这样我们就在C#中实现了 SetTimeout()方法!

怎么样?是不是很简单?欢迎您留言一起讨论。

下一篇,要讲SetTimeout的老相好:参考Javascript中的setInterval方法,在C#中实现SetInterval周期重复执行功能

声明:若您对本文内容有任何意见,欢迎发送邮件至:admin@zhidaobu.com,本站会尽快回应并做出相应处理。