仅出于示例的目的,我编写了以下代码:
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] 删除。
我来说两句