2015-09-29 24 views
0

我使用下面的方法來創建一個實體的MethodInfo的GetMethod爲Dictionary對象的「任何」方法

MethodInfo methodInfo = typeof(string).GetMethod("Contains", new[] { typeof(string) }); 

搜索字符串表達式這工作正常字符串的情況下。但是,當我嘗試與字典對象爲

MethodInfo methodInfo = typeof(Dictionary<string, string>).GetMethod("Any", new[] { typeof(Func<string,string>),typeof(bool)}); 

但它始終返回空值。有人讓我知道如何使用該方法來獲得正確的MethodInfo值

回答

2

Any不是Dictionary<K, V>的方法。它是屬於Enumerable的擴展方法。因此,您無法在Dictionary<K, V>上找到它。

請參閱How do I invoke an extension method using reflection?應該怎麼做。

+0

我們可以用「Contains」代替嗎?如果是的話如何? –

+0

如果你只是想在鍵上匹配,你應該使用'Contains'。 –

相關問題