c#定时器-调度接受参数的函数调用
本文关键字:参数 函数调用 定时器 调度 | 更新日期: 2023-09-27 18:16:48
我想每X秒调用一个函数。我读了很多关于System.Threading.Timer的文章,所以我就这么做了:
Timer timer = new Timer(new TimerCallback(TimeCallBack), null, 0, 50000);
调用函数:
void TimeCallBack();
但是,我想传递一个参数给该函数,以便计时器调用以下函数:
void TimeCallBack(MyClass mc);
我可以将我要传递的实例设为全局但我宁愿传递它。从我看到的TimerCallback委托是在Timer构造函数中使用的。任何方式我可以使用我自己的委托/函数调用?
您可以通过Timer构造函数的state
参数传递一个参数给回调:
Timer timer = new Timer(new TimerCallback(TimeCallBack), mc, 0, 50000);
回调:void TimeCallBack(object state)
{
MyClass mc = (MyClass)state;
}