延遲、延時、定時呼叫
阿新 • • 發佈:2019-01-03
/// <summary> /// 延遲呼叫 /// </summary> /// <param name="method"></param> /// <param name="delayTime"></param> public static void DelayInvoke(Action method, int delayTime = 2000) { RegularInvoke(method, delayTime, false); }/// <summary> /// 定時呼叫 /// </summary> /// <param name="method"></param> /// <param name="delayTime"></param> /// <param name="aotoReset"></param> public static void RegularInvoke(Action method, int delayTime, bool aotoReset = true) { System.Timers.Timer timer = new System.Timers.Timer(delayTime); timer.Elapsed += new System.Timers.ElapsedEventHandler((a, b) => { method(); }); //執行一次 false timer.AutoReset = aotoReset;//是否執行System.Timers.Timer.Elapsed事件 timer.Enabled = true; }
//延遲呼叫 DelayInvoke(() => { //DO }, 1800); //定時呼叫 RegularInvoke(() => { //DO }, 1800);