gpt4 book ai didi

C# timer - 安排对接受参数的函数的调用

转载 作者:太空宇宙 更新时间:2023-11-03 17:57:00 26 4
gpt4 key购买 nike

我想每隔 X 秒调用一次函数。我在 SO 上阅读了有关 System.Threading.Timer 的信息,所以我这样做了:

Timer timer = new Timer(new TimerCallback(TimeCallBack), null, 0, 50000);

它调用函数:
void TimeCallBack();

但是,我想向该函数传递一个参数,以便计时器调用以下函数:
void TimeCallBack(MyClass mc);

我可以将我传递的实例设为全局,但我宁愿传递它。从我看到 TimerCallback 委托(delegate)在 Timer 构造函数中使用。有什么办法可以使用我自己的委托(delegate)/函数调用?

最佳答案

您可以通过 state 将参数传递给回调。 Timer Constructor 的参数:

Timer timer = new Timer(new TimerCallback(TimeCallBack), mc, 0, 50000);

打回来:
void TimeCallBack(object state)
{
MyClass mc = (MyClass)state;
}

关于C# timer - 安排对接受参数的函数的调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8358462/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com