ExtensionMethod に単純で十分な情報を提供して testResult_# 変数を設定できるようにするための十分な情報を提供するデータ構造(以下の Schedule クラスとして表される)をどのように構築しますか。
注: GetScheduleById(string) メソッドを実装する方法を尋ねているのではなく、このメソッドに必要なすべての情報を提供することで、可能な限り単純になるようにスケジュール データ構造を定義するよう求めています。
var datetimeUnderTest = DateTime.Now;
Schedule workingDaysSchedule = ScheduleRepository.GetScheduleById("dubaiWorkingDays");
Schedule workingHoursSchedule = ScheduleRepository.GetScheduleById("usaWorkingHours");
Schedule winterSchedule = ScheduleRepository.GetScheduleById("brasilWinter");
Schedule nightsInWeekendSchedule = ScheduleRepository.GetScheduleById("NightsInWeekends");
Schedule nightsInWeekDaysSchedule = ScheduleRepository.GetScheduleById("NightsInWeekDays");
// IsInSchedule is an Extension method on DateTime
bool testResult_0 = datetimeUnderTest.IsInSchedule(workingDaysSchedule );
bool testResult_1= datetimeUnderTest.IsInSchedule(workingHoursSchedule );
bool testResult_2 = datetimeUnderTest.IsInSchedule(winterSchedule);
bool testResult_3 = datetimeUnderTest.IsInSchedule(nightsInWeekendSchedule );
bool testResult_4 = datetimeUnderTest.IsInSchedule(nightsInWeekDaysSchedule );
ありがとう!