高精度タイマー+匿名メソッド

.NET 2.0から匿名メソッド(デリゲート)というのがあり、
button.Click += delegate { };
みたいな書き方ができる というのを少し前に知ったのでメモ。

System.Threading.Timer timer = new System.Threading.Timer(new System.Threading.TimerCallback(delegate {
    this.Invoke(new EventHandler(delegate {
        this.Text = DateTime.Now.ToString("yyyy/MM/dd HH:mm:ss");
    }));
}), null, 0, 800);

上のコードでは800ミリ秒おきにthis.Textに現在日時を設定します。

タイマーのコールバック関数と、現在日時を設定する関数を匿名メソッドで定義しています。

行数が少ないときは関数分けて書くよりは見やすいけど、入れ子にするとごちゃごちゃするかも。