ControlのInvokeメソッドに渡すデリゲートを匿名メソッドにしたいんですが、うまくいきません。

this.Invoke(delegate() {
MessageBox.Show("test");
});


コンパイルすると、
エラー 2 'System.Windows.Forms.Control.Invoke(System.Delegate)' に最も適しているオーバーロード メソッドには無効な引数がいくつか含まれています。
エラー 3 引数 '1': '匿名メソッド' から 'System.Delegate' に変換できません。
となってしまいます。


System.Delegateはdelegate型ではないのでダメってことですかね?
これが出来ないとかなり面倒くさいなあ。