我正在为个人项目进行反思繁重的工作,我需要通过其Type
对象访问委托的返回类型。这是一个小元,所以这是一个例子。
Type type = typeof(Func<Foo, Bar, Baz>);
// ????
// Use reflection to come to the following expected result
Type result = typeof(Baz);
我该怎么做?
我不会将该类型的任何实例投射到Delegate
。
答案 0 :(得分:17)
一种方法是获取表示委托类型的MethodInfo
方法的Invoke
,然后检索方法的返回类型。
var result = type.GetMethod("Invoke").ReturnType;