Mi temporizador El evento 'transcurrido' se dispara dos veces cuando se inicia el programa. La única asignación del controlador de eventos 'transcurrido' está en el método 'Principal'. ¿Hay algo que estoy haciendo mal?Evento transcurrido del temporizador que se activa dos veces en el programa de línea de comandos C#
//class level clock
public static System.Timers.Timer Clock;
static void Main(string[] args)
{
Clock = new System.Timers.Timer();
Clock.Elapsed += new ElapsedEventHandler(Clock_Elapsed);
Clock.AutoReset = false;
Clock.Interval = timerInterval; //this needs to be in milliseconds!
Clock.Enabled = true;
//run infinite loop until q is pressed
while (Console.Read() != 'q')
{}
}
static void Clock_Elapsed(object sender, ElapsedEventArgs e)
{
Clock.Stop();
//do some stuff
Clock.Start();
}
ACTUALIZACIÓN:
El AutoReset proporcionada por @ fparadis2 fija el disparando dos veces. La cuestión básica fue que mi intervalo de temporizador se estableció en 30 milisegundos en lugar de 30000 milisegundos (30 segundos) para que el evento se disparara por partida doble.
posible duplicado de [fuego temporizador dos veces] (http://stackoverflow.com/questions/4309254/timer-fire-twice) – user7116