'onTimer'没有重载匹配代表'ElapsedEventHandler'

时间:2020-03-15 17:52:54

标签: c# delegates system.timers.timer

通常,当人们收到“ 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 + =(发送方,参数)=> {}

1 个答案:

答案 0 :(得分:0)

也许其他人会需要它。

我刚刚将对象更改为对象:

    static void setTimer()
    {
        yearIncreaser.Elapsed += onTimer;
        yearIncreaser.Enabled = true;
        yearIncreaser.AutoReset = true;
    }

    static void onTimer(object source, ElapsedEventArgs e)
    {
        currentYear++;
    }
相关问题