このフォーラムで質問を検索し、優れたリソースを見つけました。リフレクションの概念を理解するために、私は次のコードを自分で作成しました。
static void Main(String[] args)
{
MyClass1 mc1 = new MyClass1();
Type t = mc1.GetType();
MethodInfo mInfo = t.GetMethod("method1");
object[] o=new object[]{2};
Console.WriteLine(mInfo.Invoke(mc1, o));
NameSpace2.Class1 c1 = new NameSpace2.Class1();
Type t2 = c1.GetType();
MethodInfo[] mI2 = t2.GetMethods();
object[] o2 = new object[] {2,3};
foreach (MethodInfo m in mI2)
{
Console.WriteLine(m);
}
object x = Activator.CreateInstance(t);
Console.WriteLine(x.GetType());
Console.Read();
}
リフレクションを使用すると、実行時にオブジェクトのタイプ、パブリックメソッド、プロパティに関する情報を取得でき、そのタイプのオブジェクトを作成できることも理解しています。しかし、私の要点は、メソッドが入力として必要なパラメーターが何であるかがわからない限り、メソッドを実装することはできず、それらの情報は実行時にのみ利用可能であるということです。それで、反射の重要性は何ですか、それはオブジェクトに関する情報だけですか?