在运行时更改访问修饰符

虚空线

仅出于示例的目的,我编写了以下代码:

public class MyClass
{
    private int MyMethod()
    {
        return 1;
    }
}

什么方法可以使用反射或其他方法将MyClass::MyMethod()运行时的访问修饰符更改公共,然后调用它?

哈比卜

不确定是否可以修改访问说明符,但是可以通过反射来调用私有方法,例如:

MyClass instance = new MyClass();
MethodInfo yourMethod = instance
                            .GetType()
                            .GetMethod("MyMethod", BindingFlags.NonPublic | BindingFlags.Instance);
var returnValue = yourMethod.Invoke(instance, new object[] { });
Console.WriteLine(returnValue);

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Swift的私有访问修饰符是否会阻止在运行时访问属性/方法?

来自分类Dev

有没有办法在运行时识别变量的const修饰符?

来自分类Dev

在运行时调用方法时如何忽略修饰符-JAVA

来自分类Dev

在Java运行时添加最终修饰符

来自分类Dev

Java静态修饰符是否会对运行时性能产生积极影响?

来自分类Dev

DataTemplateSelector错误:无法更改访问修饰符

来自分类Dev

如何更改CodeMaid添加的默认访问修饰符

来自分类Dev

在运行时创建的访问控制

来自分类Dev

在运行时访问Android内存

来自分类Dev

在运行时访问UIView宽度

来自分类Dev

在运行时访问CLI值

来自分类Dev

在运行时访问Android内存

来自分类Dev

使对象在运行时不可访问

来自分类Dev

在运行时更改字段属性

来自分类Dev

在运行时更改LSApplicationQueriesSchemes

来自分类Dev

Selenium xpath在运行时被更改

来自分类Dev

在运行时更改引导间隔

来自分类Dev

在运行时更改python mro

来自分类Dev

在运行时更改宏的值

来自分类Dev

可以在运行时更改AppDelegate

来自分类Dev

在运行时更改Java类

来自分类Dev

在运行时更改Guice绑定

来自分类Dev

在运行时更改.dll

来自分类Dev

在运行时更改堆栈大小

来自分类Dev

在运行时更改persistenceUnit属性

来自分类Dev

在运行时更改MPI设置

来自分类Dev

在运行时更改构建变体

来自分类Dev

在运行时更改注入的对象

来自分类Dev

在运行时更改网络接口