C# 原生Timer类只有 OnTick事件,之前有一个项目要求创建一个倒计时,并能够实现暂停和继续,在倒计时结束后触发事件。我基于原生Timer类开发了CountDown类。
介绍完直接上代码。
// Using System.Threading;
class CountDown
{
public CountDown(uint ticks)
{
this.defaultTime = this.ctime = ticks + 1;
AutoResetEvent autoEvent = new AutoResetEvent(false);
timer = new Timer(this.Tick, autoEvent, Timeout.Infinite, 1000);
this.interval = 1000;
}
// interval 单位为ms
public CountDown