操作を数秒遅らせる最良の方法は何ですか? stackoverflow で次のコードを見つけました。
var timer = new DispatcherTimer { Interval = TimeSpan.FromSeconds(5) };
timer.Start();
timer.Tick += (_sender, _args) =>
{
timer.Stop();
operation();
};
しかし、ガベージ コレクターがこのタイマーをメモリから削除するほど賢いとは思いません。これは、 /操作Tick
に依存していて、タイマーがオンにならなくなることを認識していないためです。Start
Stop
最初にイベントを削除する必要があると思いますが、これを行うには、ラムダを別のメソッドに抽出する必要があります。単に操作を遅らせるより良い方法はありますか?