/// <summary> /// /// </summary> /// <param name="info"></param> public void RemoveMethodInfo(QueueMethodInfo info) { lock (Locker) { QueueMethodInfos.Remove(info); CheckAndRun(); } }
/// <summary> /// /// </summary> private void RemoveWaitBeforeInvoke() { var waitingMethodInfo = QueueMethodInfos.FirstOrDefault(f => f.State == QueueState.WaitBeforeInvoke); if (waitingMethodInfo != null) { QueueMethodInfos.Remove(waitingMethodInfo); } }
/// <summary> /// /// </summary> private void RemoveWaitTimeoutItems() { var waitingItems = QueueMethodInfos.ToList(w => w.State == QueueState.WaitBeforeInvoke); foreach (var item in waitingItems) { var isTimeOut = item.WaitInvokeBeginDateTime.AddMilliseconds(WaitTimeOutMilliSecound) < DateTime.Now; if (isTimeOut) { QueueMethodInfos.Remove(item); } } }