/// <summary> /// 添加一个在计时器里处理的事件 /// </summary> /// <param name="fun"></param> public void Add(ClockHelper fun) { _clockEvent += fun; //注册事件 Count++; //事件计数累加 //注册事件后说明事件组至少有一个事件然后打开计时器,如果已打开就跳过 if (!_timer.IsEnabled) { _timer.Start(); } }
/// <summary> /// 移除一个处理事件 /// </summary> /// <param name="fun"></param> public void Remove(ClockHelper fun) { _clockEvent -= fun; //注销事件 Count--; //事件计数减1 //如果事件组内没有事件运行计时器没有意义,就暂停计时器 if (Count == 0 && _timer.IsEnabled) { _timer.Stop(); } }
public void Constructor_should_throw_when_depart_date_is_after_arrive_date() { var departDate = ClockHelper.SomeDate(); var arriveDate = ClockHelper.SomeDateBefore(departDate); var builder = _flightBuilder .WithDepartDate(departDate) .WithArriveDate(arriveDate); Action constructor = () => builder.Build(); constructor.Should().Throw <Exception>(); }