61

デリゲートの型情報がある場合、リフレクションを使用してデリゲートのパラメーター リストを取得する簡単な方法はありますか?

たとえば、デリゲート型を次のように宣言するとします。

delegate double FooDelegate (string param, bool condition);

その後、次のようにそのデリゲート型の型情報を取得します

Type delegateType = typeof(FooDelegate);

その型情報オブジェクトから戻り値の型 (double) とパラメーター リスト ({string, bool}) を取得することは可能ですか?

4

1 に答える 1

106
    MethodInfo method = delegateType.GetMethod("Invoke");
    Console.WriteLine(method.ReturnType.Name + " (ret)");
    foreach (ParameterInfo param in method.GetParameters()) { 
        Console.WriteLine("{0} {1}", param.ParameterType.Name, param.Name);
    }
于 2009-01-09T20:19:44.167 に答える