如何使用反射来调用私有方法?我的类中有一组私有方法,我需要根据输入值动态调用一个方法。调用代码和目标方法都在同一个实例中。代码如下:MethodInfo dynMethod = this.GetType().GetMethod("Draw_" + itemType);dynMethod.Invoke(this, new object[] { methodParams });在这种情况下,GetMethod()不会返回私有方法。什么BindingFlags我需要供应给GetMethod()这样才能找到私有的方法?
3 回答
回首忆惘然
TA贡献1847条经验 获得超11个赞
只需更改代码以使用重载版本GetMethod
它接受BindingFlags:
MethodInfo dynMethod = this.GetType().GetMethod("Draw_" + itemType, BindingFlags.NonPublic | BindingFlags.Instance);dynMethod.Invoke(this, new object[] { methodParams });
holdtom
TA贡献1805条经验 获得超10个赞
BindingFlags.NonPublic
BindingFlags.Instance
MethodInfo dynMethod = this.GetType().GetMethod("Draw_" + itemType, BindingFlags.NonPublic | BindingFlags.Instance);
- 3 回答
- 0 关注
- 1183 浏览
添加回答
举报
0/150
提交
取消