.NET FrameworkでいわゆるJavaScriptのsetTimeout()みたいな事をやる方法
たまーにやりたくなるんだけど、その都度やり方を忘れちゃってるので備忘録。
private void SetTimeout(Action fn, int time) { BackgroundWorker worker = new BackgroundWorker(); worker.DoWork += delegate(object sender, DoWorkEventArgs e) { Thread.Sleep(time); }; worker.RunWorkerCompleted += delegate(object sender, RunWorkerCompletedEventArgs e) { fn(); }; worker.RunWorkerAsync(); }
System.ComponentModel.BackgroundWorkerとSystem.Threading.Thread.Sleep()を使うだけ。
ちなみにJavaScriptのsetInterval()はSystem.Threading.Timer使うだけ。