Java!2009-07-07文字列情報だけでインスタンス生成&メソッド実行C#最近流行の型付言語のFW*1では、ほぼ間違いなくリフレクションを使っているのでちょっと復習。文字列情報だけでロード済みアセンブリ内のオブジェクトについて「インスタンスの生成」と「インスタンスメソッドの生成」を実行する。ランダムな最大10の値が帰ってくるConsole.ReadLine();インスタンスの生成Type#GetTypeFromProgIDメソッドを用いて、「文字列→Typeオブジェクト」の橋渡しを行っている。Typeオブジェクトさえ確保できれば、Activator#CreateInstanceメソッドを用いてオブジェクトのインスタンスは生成可能だ。「インスタンスの生成」で得たTypeオブジェクトからType#GetMethodメソッドを実行してメソッド情報を所得する。Type[]配列を渡して区別できる。Type#GetMethodはBindingFlagを用いて細かく取得できるメソッドを制御できる。MVCはリフレクション処理を連発して「URLルーティング→コントローラーの取得→アクションの実行」を行いって居るので、この辺りを把握しているのは必須だったりします。