2010-01-26 16 views
1

我有兩個代表。我想使用反射來加載一個程序集/類,並通過每個類來查看類中的靜態方法是否與代表匹配。創建委託前檢查方法簽名

我得到了所有的東西,但我似乎可以找到任何方法來檢查它是否匹配委託,我真的不想嘗試創建和捕獲異常。

感謝

回答

2

你可以使用CreateDelegate方法:

// The delegate type you want to match against 
var delegateType = typeof(Func<int>); 
// The method info 
MethodInfo someMethodInfo = ... 
var del = Delegate.CreateDelegate(delegateType, someMethodInfo, false); 
if (del != null) { 
    // you've got a match 
} 
+0

酷豆所以createDelegate方法只會返回null。感謝它現在沒有更簡單的了 – Pintac 2010-01-28 06:46:56

+0

沒有檢查一個委託是否與一個給定的MethodInfo匹配,而沒有捕獲你正在尋找的異常? – 2010-01-28 07:14:24