2011-01-29 56 views
12

我正在做一個個人項目的反思工作,我需要通過它的Type對象訪問代理的返回類型。這是一個小元,所以這裏是一個例子。如何通過反射獲取委託類型的返回類型?

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

我該怎麼做?

我不會將該類型的任何實例轉換爲Delegate

回答

16

一種方法是獲取代表類型的Invoke方法的MethodInfo,然後檢索方法的返回類型。

var result = type.GetMethod("Invoke").ReturnType; 
相關問題