public static Work GetNewWork(DateTime Time, CallBackDlg what, CallBackDlg whenNotExcuted, object Data, bool OutOfDateExcute) { _Smp.WaitOne(); Work newwork = new Work(Time, Data, what, whenNotExcuted, OutOfDateExcute, GetID()); AddWork(newwork); _Smp.Release(); return(newwork); }
/// <summary> /// Không được tùy tiện tạo Work. /// phải xin một đối tượng thông qua lớp WorkManager /// </summary> /// <param name="when"> thời điểm cần thực thi</param> /// <param name="Data_param"> Dữ liệu truyền vào hàm đó khi nó được gọi</param> /// <param name="what">Delegate này sẽ được gọi khi công việc cần được thực hiện</param> /// <param name="whenNotExcuted">Delegate này sẽ được gọi khi công việc bị bỏ qua do quá thời gian</param> /// <param name="ExecuteIfTimeOut">Cho biết có làm công việc này không nếu thời gian đã trôi qua</param> internal Work(DateTime when, object Data_param, CallBackDlg what, CallBackDlg whenNotExcuted, bool ExecuteIfTimeOut, int ID) { Data = Data_param; time = when; Work_Func = what; OnNotExcuted = whenNotExcuted; IsExecuteIfOutOfDate = ExecuteIfTimeOut; _WorkID = ID; }