所以我试图在我的类中检索具有特定属性的所有私有方法。当我做的时候
this.GetType().GetMethods()
这将返回18个方法,所有这些方法都是公开的。所以我尝试修改它以使用绑定标志,如:
this.GetType().GetMethods(BindingFlags.NonPublic);
这导致零结果回来。然后我开始玩游戏,我无法完成GetMethods(BindingFlags.x)
的任何覆盖。
this.GetType().GetMethods(BindingFlags.Default);
this.GetType().GetMethods(BindingFlags.Public);
所有这些都返回零结果。我做错了什么?
答案 0 :(得分:40)
您应该传递BindingFlags.Instance以匹配实例方法:
this.GetType().GetMethods(BindingFlags.Instance | BindingFlags.NonPublic);
如果您想要实例和静态方法,也可以将BindingFlags.Static
添加到标志中。