我想要一種能夠安排回調的方法,我希望能夠在不同的時間向「計劃程序」對象註冊許多不同的回調。像這樣的東西。安排代表電話
public class Foo
{
public void Bar()
{
Scheduler s = new Scheduler();
s.Schedule(() => Debug.WriteLine("Hello in an hour!"), DateTime.Now.AddHours(1));
s.Schedule(() => Debug.WriteLine("Hello a week later!"), DateTime.Now.AddDays(7));
}
}
我能想出的實施計劃,最好的辦法是在給定的時間間隔內運行的每個間隔結束時我檢查已註冊的回調,看看它的時間打電話給他們一個計時器,如果是這樣的話。這很簡單,但缺點是隻能得到定時器的「分辨率」。假設定時器設置爲每秒一次,並且註冊一個半秒鐘內調用的回調函數,它仍然可能不會被調用一整秒。
有沒有更好的方法來解決這個問題?
我發誓我想到這個解決方案,我點擊發送按鈕的問題。很高興知道這是正確的方法。 – 2009-02-01 20:08:47