コンパイラが勝手に作っちゃうクラスにアクセスする

「ああ、匿名メソッドを使った際にコンパイラが自動生成するクラスの名前が気になって夜もほどほどにしか寝れない!!でもReflectorを起動するのも面倒だ!! 悩める!悩めるぞ!!」という方を応援します。
特に意味はないです。

public class Test
{
	private delegate void Hoge();
	private Hoge h;

	public void Run()
	{
		int a = 10;
		h = delegate
		{
			Console.WriteLine( a );
		};
		Console.WriteLine( h.Method.ReflectedType.FullName );
	}
}

Runメソッド内の変数を匿名メソッド内で参照しないと、
Testクラス内にメソッドが自動生成されるだけなので、
わざわざ偉大なるaという変数を宣言してクラスを生成させる野望です。




僕は一体何がしたかったんでしょうね。


リフレクションを極めれば他の柔軟な言語並に変なことできるかもですね。
でも動的にメソッド作って実行したりする場合、
メソッドの中身はアセンブラ(MSIL)で書かにゃーとならんですよね、確か。
めんどくさいリフレクションを隠蔽した変態ライブラリとかあればいいのに。