c#反射查找方法時,默認只能查到public方法。如果想要查找private方法,需要設定BindingFlags.
即:
BindingFlags.Public|BindingFlags.Instance 默認查找public、instance內容。
BindingFlags.NonPublic|BindingFlags.Instance 查找nonpublic、instance內容
另外,BindingFlags.Instance和BindingFlags.Static二者必須有一項或者都有。如果你的類是instance,就選instance,反之選static。如果兩者都不選,是找不到任何方法的。
當然,穩妥的辦法是全寫。即:
BindingFlags.Public|BindingFlags.NonPublic|BindingFlags.Instance|BindingFlags.Static.