오류가 발생한 이유를 이해할 수 없습니다.
이것은 내 Engine 클래스의 시작 방법입니다.
private void Start()
{
Engine engine = new Engine();
engineThrottleLock = new object();
TimerCallback tcb = new TimerCallback(EngineRpmTimer());
timer = new Timer(tcb, null, 0, 0);
}
그리고 여기 내 Engine 클래스에도 내 engineThrottleLock 메서드가 있습니다.
private void EngineRpmTimer()
{
lock (engineThrottleLock)
{
if (rpm > 800)
{
rpm -= 700;
}
else
{
rpm = 100;
}
SendRpmValueToChip();
SendHighRevolutionWarningToChip();
}
}
이 줄에서 :
TimerCallback tcb = new TimerCallback(EngineRpmTimer());
Visual Studio는 ERROR : 메서드 이름이 제외되었다고 말합니다.
사실 저는 메소드 이름을 썼습니다. 그러나 아마도 나는 작은 단계를 놓쳤을 것입니다. (여러분들은 어떤 생각이 있습니까?
괄호를 제거해야합니다.
TimerCallback tcb = new TimerCallback(EngineRpmTimer); // <- no parenthesis
괄호 를 사용하면 메서드를 호출 하고 해당 메서드가 올바른 유형 (유효한 콜백 메서드)을 반환하지 않습니다.
괄호가 없으면 올바른 메서드 이름 입니다.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다