Проверка это время внутри диапазона

Я пытаюсь выполнить проверку, введено время внутри заданного интервала времени, но я застрял... У меня есть один основной блок, и другой класс, который выполняет проверку, это введенное время внутри интервала, но я продолжаю получать "Нет перегрузки для метода" IsBetween " принимает 0 аргументов "когда я пытаюсь вызвать метод и получить простой bool true или false, я знаю, что решение, вероятно, действительно простое, но я просто не могу понять это...:

 static void Main()
    {
        var currentTime = Console.ReadLine();
        DateTime now = Convert.ToDateTime(currentTime);
        var dateNow = DateTime.Now;
        var startTime = new DateTime(dateNow.Year, dateNow.Month, dateNow.Day, 13, 0, 0);
        var endTime = new DateTime(dateNow.Year, dateNow.Month, dateNow.Day, 3, 0, 0);
    }

Это мой класс для проверки:

public static class TimeExtensions
{
    public static bool IsBetween(this DateTime now, DateTime startTime, DateTime endTime)
    {
        if (now.TimeOfDay == startTime.TimeOfDay) return true;
        if (now.TimeOfDay == endTime.TimeOfDay) return true;

        if (startTime.TimeOfDay <= endTime.TimeOfDay)
            return (now.TimeOfDay >= startTime.TimeOfDay && now.TimeOfDay <= endTime.TimeOfDay);
        else
            return !(now.TimeOfDay >= endTime.TimeOfDay && now.TimeOfDay <= startTime.TimeOfDay);
    }
}

1 ответ

Решение

Ошибка предполагает, что вы звоните IsBetween лайк:

bool b = now.IsBetween();

но вам нужно указать время начала и окончания:

bool b = now.IsBetween(startTime, endTime);
Другие вопросы по тегам