0

チェックを実行しようとしているのは、指定された時間間隔内に入力された時間ですが、スタックしています...メインブロックが1つあり、チェックを実行する別のクラスが間隔内に入力された時間ですが、「メソッド「IsBetween」のオーバーロードはありません」を取得し続けますメソッドを呼び出して単純な 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);
    }
}
4

1 に答える 1

0

IsBetweenエラーは、次のように呼び出していることを示しています。

bool b = now.IsBetween();

ただし、開始時刻と終了時刻を指定する必要があります。

bool b = now.IsBetween(startTime, endTime);
于 2014-03-27T21:16:22.117 に答える