/// <summary> /// 结束事件 /// </summary> /// <param name="timer"></param> /// <param name="completedEvent"></param> /// <returns></returns> public static Timer OnComplete(this Timer timer, TimerEndHandler completedEvent) { if (null == timer) { return(null); } timer.AddEvent(completedEvent); return(timer); }
/// <summary> /// 停止并初始化 /// </summary> private void Stop() { if (MyTimers.Contains(this)) { MyTimers.Remove(this); } _time = -1; _isFinish = true; _isPause = false; UpdateEvent = null; CompleteEvent = null; }
/// <summary> /// 添加结束事件 /// </summary> /// <param name="completedEvent"></param> public void AddEvent(TimerEndHandler completedEvent) { if (null == CompleteEvent) { CompleteEvent = completedEvent; } else { //防止多次注册同一事件 Delegate[] delegates = CompleteEvent.GetInvocationList(); if (!Array.Exists(delegates, (v) => { return(v == (Delegate)completedEvent); })) { CompleteEvent += completedEvent; } } }