void SetTimer(SingleUseTaskTimer timer) { timer = Interlocked.Exchange(ref _timer, timer); if (null != timer) CleanupTimer(timer); }
private void SetTimer(SingleUseTaskTimer timer) { timer = Interlocked.Exchange <SingleUseTaskTimer>(ref this._timer, timer); if (null == timer) { return; } TaskTimer.CleanupTimer(timer); }
private static void CleanupTimer(SingleUseTaskTimer timer) { try { timer.Cancel(); timer.Dispose(); } catch (Exception ex) { Debug.WriteLine("Timer.Dispose(): " + ex.Message); } }
static void CleanupTimer(SingleUseTaskTimer timer) { try { timer.Cancel(); timer.Dispose(); } catch (Exception ex) { Debug.WriteLine("Timer.Dispose(): " + ex.Message); } }
public void SetTimer(Action callback, TimeSpan expiration) { var timer = new SingleUseTaskTimer(callback, expiration); SetTimer(timer); }