首页 > 后端开发 > C++ > C#中如何使用反射调用私有实例方法?

C#中如何使用反射调用私有实例方法?

Linda Hamilton
发布: 2025-01-25 05:11:09
原创
856 人浏览过

How Can I Use Reflection to Invoke Private Instance Methods in C#?

在 C# 中利用反射调用私有实例方法

从同一对象内动态调用私有方法需要使用 GetMethod() 和正确的 BindingFlagsGetMethod() 的默认行为仅返回公共成员。

要访问私有实例方法,请像这样修改您的代码:

<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中文网其他相关文章!

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板