タイプ情報がある場合、リフレクションを使用してデリゲートのパラメーターリストを取得する簡単な方法はありますか?
たとえば、デリゲート型を次のように宣言すると、
delegate double FooDelegate (string param, bool condition);
その後、次のようにそのデリゲート型の型情報を取得します
Type delegateType = typeof(FooDelegate);
その型情報オブジェクトから戻り値の型(double)とパラメーターリスト({string、bool})を取得することは可能ですか?
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);
}