gpt4 book ai didi

c# - 从静态时间回调调用实例方法

转载 作者:太空宇宙 更新时间:2023-11-03 14:14:44 25 4
gpt4 key购买 nike

我在一个类中有一个计时器,当这个计时器触发时我想调用这个类的一个实例方法。我如何从静态计时器回调方法访问它?

private void ClassInstanceMethod()
{
}

public static void TimerFired(object source, ElapsedEventArgs e)
{
// Want to call ClassInstanceMethod() here
}

private void startTimer()
{
timer = new Timer();
timer.Interval = 1000;
timer.Elapsed += new ElapsedEventHandler(TimerFired);
timer.AutoReset = false;
timer.Enabled = true;
}

已解决
我误以为 TimerFired 必须是静态的 - 但事实并非如此。

最佳答案

你不能。 source 参数是 Timer 对象,ElapsedEventArgs 对象不包含对您的类实例的任何引用。正如评论中所讨论的那样,您可以使 TimerFired 方法成为非静态方法(即实例),然后您就可以从该类中安全地调用 ClassInstanceMethod 和其他实例方法。

关于c# - 从静态时间回调调用实例方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6839635/

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