在 C# 中利用反射调用私有实例方法
从同一对象内动态调用私有方法需要使用 GetMethod()
和正确的 BindingFlags
。 GetMethod()
的默认行为仅返回公共成员。
要访问私有实例方法,请像这样修改您的代码:
<code class="language-csharp">MethodInfo dynMethod = this.GetType().GetMethod("Draw_" + itemType, BindingFlags.NonPublic | BindingFlags.Instance); dynMethod.Invoke(this, new object[] { methodParams });</code>
BindingFlags
枚举控制方法搜索。 BindingFlags.NonPublic
包含私有方法,BindingFlags.Instance
确保您的目标是实例方法(而不是静态方法)。
以上是C#中如何使用反射调用私有实例方法?的详细内容。更多信息请关注PHP中文网其他相关文章!