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

如何使用C#中的反射调用私人方法?

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

How Can I Invoke Private Methods Using Reflection in C#?

利用反射调用C#私有方法

动态调用私有方法,尤其当方法名基于输入值变化时,需要用到反射技术。GetMethod() 方法默认只获取公共方法,忽略私有方法。要访问私有方法,需向 GetMethod() 函数添加 BindingFlags

需要组合 BindingFlags.NonPublicBindingFlags.Instance 两个标志。这将包含当前实例范围内的非公共(私有)方法。

修改后的代码如下:

MethodInfo dynMethod = this.GetType().GetMethod("Draw_" + itemType, BindingFlags.NonPublic | BindingFlags.Instance);
dynMethod.Invoke(this, new object[] { methodParams });
登录后复制

这段代码将成功检索私有方法 "Draw_" 并使用提供的参数调用它。

更多关于反射和 BindingFlags 的信息,请参考以下文档:

以上是如何使用C#中的反射调用私人方法?的详细内容。更多信息请关注PHP中文网其他相关文章!

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