Не срабатывает Timer Callback, и не выполняются события - C#
Формулировка задачи:
Добрый день! Решил написать схему переключения светофора, основанную на событиях. Заодно опробовал System.Threading.Timer. Получился вот такой код.
Проблема заключается в том, что не включаются события, определенные в TimerGreen, TimerRed, TimerYelllow.
Объясните, пожалуйста, в чем тут дело.
class LightEvent
{
public delegate void LightEventHandler();
public event LightEventHandler Green;
public event LightEventHandler Yellow;
public event LightEventHandler Red;
System.Threading.Timer timer;
TimerCallback tcb;
private int interval;
private int green;
private int yellow;
private int red;
public LightEvent(int _green, int _yellow, int _red)
{
green = _green * 1000;
yellow = _yellow * 1000;
red = _red * 1000;
}
public void DoWorkLight()
{
interval = green;
tcb = TimerGreen;
for (int i = 0; i < 10000; i++)
{
timer = new System.Threading.Timer(tcb, false, interval, 0);
timer.Dispose();
}
}
public void TimerGreen(object source)
{
if (Yellow != null)
Yellow();
tcb = TimerYellow;
interval = yellow;
}
public void TimerYellow(object source)
{
if (Red != null)
Red();
tcb = TimerRed;
interval = red;
}
public void TimerRed(object source)
{
if (Green != null)
Green();
tcb = TimerGreen;
interval = green;
}
}Решение задачи: «Не срабатывает Timer Callback, и не выполняются события»
textual
Листинг программы
_tcb = TimerYellow;