C#循环oneshot函数

C# loop oneshot function

我这里有一个有趣的情况。语言是C#,使用Visual Studio.

我有一个函数循环,可以让 运行 通过。

当某个事件触发时,我希望使用 IF 语句调用一个函数。

有什么办法可以让这个函数在一定的时间延迟下不再被调用?

比如函数A被调用了....函数A在接下来的20秒内无论如何都不能再调用了。

20秒后,如果IF语句存在,可以再次调用函数A

我有一个功能可以给我的 phone 发短信,目前我的循环非常快,所以它在几秒钟内给我的 phone 发了 20 次短信。我想限制这个。 我也不能让事件触发一个 while 循环以使其通过另一个循环。

我需要循环来保持 运行 它的循环,但跳过向我 phone 发送短信的函数,直到某个时间过去。

使用定时器:

Timer myTimer = new Timer();
 myTimer.Interval = 200; //double timer interval in ms
 myTimer.Elapsed += myTimer_Elapsed;
 myTimer.Start();

然后把你的函数放在里面 myTimer_Elapsed:

void myTimer_Elapsed(object sender, System.Timers.ElapsedEventArgs e)
    {
        your_function();
    }

使用 myTimer.Stop();

停止它