他のプロセスの束を制御する Windows サービスを作成していますが、内部プロセスを独自のスケジュールで実行する必要があります。各スケジュールは比較的単純で、実行する曜日、プロセスをいつ開始し、いつ停止するかを選択するだけです。
私の考えは、以下のような多次元辞書を持つことです
Dictionary<string, TimeSpan> OnOff = new Dictionary<string,TimeSpan>();
OnOff.Add("Start", TimeSpan.Parse("09:00"));
OnOff.Add("Stop", TimeSpan.Parse("17:00"));
Dictionary<string, Dictionary<string, TimeSpan>> Process = new Dictionary<string,Dictionary<string,TimeSpan>>();
Process.Add("Process1", OnOff);
Dictionary<DayOfWeek, Dictionary<string, Dictionary<string, TimeSpan>>> schedule = new Dictionary<DayOfWeek,Dictionary<string,Dictionary<string,TimeSpan>>>();
schedule.Add(DayOfWeek.Monday, Process);
そして、TimeSpan が到着したときにシンプル タイマーを使用してプロセスの次のアクションを実行する前に、"Process" ディクショナリを最も近い "OnOff" TimeSpan で並べ替えます。
この計画に関する私の問題は、TimeSpans の並べ替えと、並べ替えに最も近い TimeSpan を含む「開始」/「停止」アクションを見つけることです。さらに、最も近い TimeSpan を含む各プロセスの異なるアクションである可能性があるという事実。
または、同じタイプの結果を達成するためのより簡単な方法を考えられる人はいますか?