某大神說de:
能想到用 Task.Delay(delay).ContinueWith(...) 實現的,算是不錯。
能想到用 System.Threading.Timer 實現的,我就看他會不能正確使用 Timer 類(這個類實現了IDisposable接口)。
用 Thread.Sleep() 的,可以干掉了。
能寫成這樣的:
async Task SetTimeout(Action action, TimeSpan delay) {
await Task.Delay(delay);
action();
}
說明是天天玩async/await的,這個人對異步應該很熟悉。