我无法理解为什么会出现错误
这是我的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:方法名称除外。
实际上,我写了一个方法名称。但可能我错过了一小步:( 你们有什么想法吗?
答案 0 :(得分:0)
您需要删除括号:
TimerCallback tcb = new TimerCallback(EngineRpmTimer); // <- no parenthesis
使用括号,调用方法,该方法不会返回正确的类型(有效的回调方法)。
没有括号,它是正确的方法名称。