public override bool Check(DateTime time, bool useNext) { if (day != null) { if (!day.Check(time, useNext, out bool next)) { return(false); } useNext = next; } else { useNext = false; } if (month != null) { if (!month.Check(time, useNext)) { return(false); } } return(true); }