【发布时间】:2011-07-08 08:42:32
【问题描述】:
我的目标:我有一个信用卡等待窗口。我将从客户端调用一个函数来等待信用卡刷卡。为了避免程序在等待信用卡时卡住。我正在使用委托来运行计时器。代表将调用一个计时器。计时器定期检查卡的存在。如果它找到一张卡片,它将由客户端分配一个回调/委托。
代码如下,我的问题是 1) _timer_Elapsed 是否会在线程内被调用,从而为 ui 窗口增加最小的开销?
2) 我如何从定时器函数调用基类的回调/事件。我编写了一个受保护的方法,它将在基类中调用事件/委托。我需要从定时器函数(在派生类的委托中)调用受保护的方法?
Wait wait = delegate()
{
_timer = new Timer(3000); // Set up the timer for 3 seconds
_timer.Elapsed += new ElapsedEventHandler(_timer_Elapsed);
_timer.Enabled = true; // Enable it
static void _timer_Elapsed(object sender, ElapsedEventArgs e)
{
// if(CheckCardsPresence())
{
//RaiseEvent()
//KillTimer()
}
//else
{
// do nothing. wait more
}
}
};
wait.Invoke();
【问题讨论】:
标签: c# .net multithreading timer