通常,当人们收到“'onTimer' 没有重载匹配委托(delegate) 'ElapsedEventHandler'”错误时,这是由于没有在每次计时器结束时运行的 void 中包含 ElapsedEventArgs 参数。此外,当我将代码复制并粘贴到解决方案之外的文件中时,错误似乎消失了,所以我很困惑。有人知道更简单的方法来解决这个问题吗?
static void setTimer()
{
yearIncreaser.Elapsed += onTimer;
yearIncreaser.Enabled = true;
yearIncreaser.AutoReset = true;
}
static void onTimer(Object source, ElapsedEventArgs e)
{
currentYear++;
}
编辑:是的,调试屏幕产生的官方错误消息是:错误 CS0123:'onTimer' 没有重载匹配委托(delegate) 'ElapsedEventHandler'
EDIT2:解决方案正在改变 yearIncreaser.Elapsed += onTimer;进入 lambda:yearIncreaser.Elapsed += (sender, args) => { }
最佳答案
也许其他人会需要它。
我只是将对象更改为对象:
static void setTimer()
{
yearIncreaser.Elapsed += onTimer;
yearIncreaser.Enabled = true;
yearIncreaser.AutoReset = true;
}
static void onTimer(object source, ElapsedEventArgs e)
{
currentYear++;
}
关于c# - 'onTimer' 没有重载匹配委托(delegate) 'ElapsedEventHandler',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60695943/