C#定点执行任务测试案例
定时方法实现类
1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Text; 5 using System.Threading; 6 using System.Threading.Tasks; 7 using System.Timers; 8 9 namespace OperationFile 10 { 11 public class TimerTest 12 { 13 public delegate void delegate_tz(); 14 15 public event delegate_tz delegate_tz0; 16 public void ClearCountByTime() 17 { 18 System.Timers.Timer aTimer = new System.Timers.Timer(); 19 aTimer.Elapsed += new ElapsedEventHandler(TimeEvent); 20 // 设置引发时间的时间间隔 此处设置为1秒 21 aTimer.Interval = 5000; 22 aTimer.Enabled = true; 23 } 24 25 private void TimeEvent(object source, ElapsedEventArgs e) 26 { 27 // 得到 hour minute second 如果等于某个值就开始执行 28 int intHour = e.SignalTime.Hour; 29 int intMinute = e.SignalTime.Minute; 30 int intSecond = e.SignalTime.Second; 31 // 定制时间,在00:00:00 的时候执行 32 int iHour = 10; 33 int iMinute = 18; 34 int iSecond = 00; 35 36 Console.WriteLine("定时任务启动"); 37 // 设置 每天的00:00:00开始执行程序 38 //if (intHour == iHour && intMinute == iMinute && intSecond == iSecond) 39 //下面是订的某一分钟 40 if (intHour == iHour && intMinute == iMinute) 41 { 42 delegate_tz0(); 43 } 44 45 } 46 } 47 }
控制台调用代码
1 static void Main(string[] args) 2 { 3 TimerTest DelegateTest0 = new TimerTest(); 4 //DelegateTest0.delegate_tz0 += DelegateTest.delegate_tz(test); // 必须new一下才行,因为它是另外一个类呀 5 DelegateTest0.delegate_tz0 += new TimerTest.delegate_tz(test); 6 DelegateTest0.ClearCountByTime(); 7 8 Console.ReadLine(); 9 } 10 11 static public void test() 12 { 13 Console.WriteLine("这是一个被注册的函数,按任意键继续..."); 14 Console.ReadKey(); 15 }