首页 >后端开发 >C++ >如何在 C# 中使用反射访问私有方法?

如何在 C# 中使用反射访问私有方法?

DDD
DDD原创
2025-01-25 05:17:09544浏览

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

>利用反射来调用私人C#方法

> C#中的反射提供了访问和调用私人类方法的功能 - 通常限制外部代码的功能。 在需要动态方法调用的情况下,这可能是有利的,这取决于运行时数据。

您的代码代码段利用

>通过名称找到方法。 但是,默认为排除私人成员。要包含私有方法,您必须在调用

>时将特定的GetMethod()合并: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.NonPublic>有关自定义方法搜索的详细信息,请咨询有关BindingFlags.Instance枚举的C#文档。 本文档全面列出了所有可用的标志,以精炼跨方法,字段和其他类成员。GetMethod()

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

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn