C#2.0でクロージャ

昨日、Rubyはシンプルに書けていいなぁと思ったら、タイムリーに
http://d.hatena.ne.jp/Kazzz/20050701/p2
経由で
http://joe.truemesh.com/blog//000390.html
を知った。
試しに昨日のソースを下記のように書き換えてみたら、

引数 '3': '匿名メソッド' から 'System.Delegate' に変換できません。

と言われた。
ちゃんと勉強しよう。

//メソッドの実行
/*
 *object obj = TimedOperation.Invoke(
 *   TimeSpan.FromSeconds(waittime), out aborted, 
 *   new MyDelegate(SomeMethod), new object[] { exectime });
 */
object obj = TimedOperation.Invoke(
    TimeSpan.FromSeconds(waittime), out aborted,
    delegate(int i)
    {
        System.Threading.Thread.Sleep(i * 1000);
        return i;
    }, new object[] { exectime }
    );