如何通过反射获取委托类型的返回类型?

时间:2011-01-29 04:13:18

标签: c# reflection

我正在为个人项目进行反思繁重的工作,我需要通过其Type对象访问委托的返回类型。这是一个小元,所以这是一个例子。

Type type = typeof(Func<Foo, Bar, Baz>);
// ????
// Use reflection to come to the following expected result
Type result = typeof(Baz);

我该怎么做?

我不会将该类型的任何实例投射到Delegate

1 个答案:

答案 0 :(得分:17)

一种方法是获取表示委托类型的MethodInfo方法的Invoke,然后检索方法的返回类型。

var result = type.GetMethod("Invoke").ReturnType;