比較的頻繁に呼び出されるコード ブロックがあります。呼び出される前に、2000 ミリ秒の遅延が必要です。
最初に頭に浮かんだのは、メソッドが呼び出されるたびにタイマーを作成/破棄することです。
これを実現するために、タイマーを使用しています (コードを参照)。私の質問は...以下の匿名メソッド内で Dispose を呼び出す危険/問題はありますか? より良いアプローチの推奨事項はありますか?
次のことを行うことの欠点はありますか?悪いアイデア?
delayTimer = new Timer() { Interval = 2000 };
{
delayTimer.Tick += (sender2, e2) =>
{
((Timer)sender2).Stop();
MessageBox.Show("Do something after 2000ms");
delayTimer.Dispose();
};
}