TimerCallBack方法名称除外错误

时间:2016-05-30 14:08:41

标签: c#

我无法理解为什么会出现错误

这是我的Engine类中的start方法。

    private void Start()
    {
        Engine engine = new Engine();

        engineThrottleLock = new object();

        TimerCallback tcb = new TimerCallback(EngineRpmTimer());

        timer = new Timer(tcb, null, 0, 0);
    }

这是我的EngineThrottleLock方法也在我的Engine类

    private void EngineRpmTimer()
    {
        lock (engineThrottleLock)
        {
            if (rpm > 800)
            {
                rpm -= 700;
            }
            else
            {
                rpm = 100;
            }
            SendRpmValueToChip();
            SendHighRevolutionWarningToChip();
        }

    }

在这一行:

    TimerCallback tcb = new TimerCallback(EngineRpmTimer());

Visual Studio说ERROR:方法名称除外。

实际上,我写了一个方法名称。但可能我错过了一小步:( 你们有什么想法吗?

1 个答案:

答案 0 :(得分:0)

您需要删除括号:

TimerCallback tcb = new TimerCallback(EngineRpmTimer); // <- no parenthesis

使用括号,调用方法,该方法不会返回正确的类型(有效的回调方法)。

没有括号,它是正确的方法名称