通常,当人们收到“ onTimer没有重载与委托'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”没有重载匹配委托“ ElapsedEventHandler”
EDIT2 :解决方案正在更改yearIncreaser.Elapsed + = onTimer;转换为lambda:yearIncreaser.Elapsed + =(发送方,参数)=> {}
答案 0 :(得分:0)
也许其他人会需要它。
我刚刚将对象更改为对象:
static void setTimer()
{
yearIncreaser.Elapsed += onTimer;
yearIncreaser.Enabled = true;
yearIncreaser.AutoReset = true;
}
static void onTimer(object source, ElapsedEventArgs e)
{
currentYear++;
}