| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546 |
- using System;
- using System.Collections.Generic;
- using System.Text;
- using System.Threading;
- namespace Taobao.Top.Link
- {
- /// <summary>easy timer impl
- /// </summary>
- public class ResetableTimer
- {
- //min=50ms by .net impl
- private Timer _timer;
- private int _periodMillisecond;
- public event EventHandler Elapsed;
- public ResetableTimer(int periodMillisecond)
- {
- this._periodMillisecond = periodMillisecond;
- this._timer = new Timer(o =>
- {
- if (Elapsed != null)
- {
- this.Elapsed(null, null);
- }
- }, null
- , this._periodMillisecond
- , this._periodMillisecond);
- }
- /// <summary>cancel timer
- /// </summary>
- public void Cancel()
- {
- if (this._timer == null)
- return;
- this._timer.Dispose();
- this._timer = null;
- }
- /// <summary>delay in period
- /// </summary>
- public void Delay()
- {
- this._timer.Change(this._periodMillisecond, this._periodMillisecond);
- }
- }
- }
|