tick - C#Timer Functions?
timer event c# (3)
Estoy trabajando en C # 2010 y tengo un temporizador:
private Timer m_Timer;
void KA(string SendStuff, object State)
{
}
m_Timer = new Timer(new TimerCallback(KA(DATA)));
Quiero que este temporizador llame a la función "KA", pasando lo que sea "DATA".
DATA es una cadena
¿Cómo pasaría el uso de una información de temporizador a la función "KA"?
Gracias
Creo que esto es lo que estás buscando
private Timer m_Timer;
void KA(object state)
{
string data = (string) state;
}
m_Timer = new Timer(new TimerCallback(KA), DATA);
puedes usar una expresión delegada / lambda:
string stuff = "hi";
Timer t = new Timer(new TimerCallback(_ => KA(stuff, null)));
Editar:
Después de la consideración y comentarios, una versión más limpia y simplificada es:
string stuff = "hi";
Timer t = new Timer(state => KA(stuff, state));
Intente investigar este artículo que demuestra en c # un componente de sondeo genérico que se ejecuta en un intervalo específico y utiliza un hilo de fondo para realizar la acción especificada por el usuario.
Uso de muestra:
IPoller poller = new UrlPoller(args[0], TimeSpan.FromSeconds(7));
IPolling pollingComponent = new Polling.Core.Polling(poller);
pollingComponent.SubscribeForPollingUpdates(PollingAction);
pollingComponent.Start();
Para el código y la muestra completa, ver: