C#でもクロージャ

先日の日記JavaScript でクロージャを書きましたが、C# でも匿名メソッドをつかえばいけるようです。
この間の JavaScriptC# で書くと以下のような感じになります。

public Form1()
{
    InitializeComponent();
    button1.Click += GetButtonClickHandler();
    button2.Click += GetButtonClickHandler();
}
private EventHandler GetButtonClickHandler()
{
    int counter = 0;
    return delegate(object sender, EventArgs e)
    {
        ++counter;
        MessageBox.Show(
            ((Button)sender).Name + 
            "は" + 
            counter.ToString() + 
            "回クリックされました。");
    };
}

っていうか、ちょっとすごいんじゃないですか??
感動や・・・。