-1
我想访问某个类的私有成员,该构造函数的构造函数被定义为private。如何为这样的类创建PrivateObject以便我可以访问其私有成员?用c中的私有构造函数创建一个私有对象#
我尝试过这样的事情,但是我不能实例化类“MyClass1”,所以我不能即刻使用PrivateObject。
MyClass1 myClass = new MyClass1(); //gives compilation error
PrivateObject po = new PrivateObject(myClass); //gives compilation error
有没有解决方法?
你可能不应该在所有这样做,但在关闭的机会,你有一个很好的理由,试图通过反射获取构造器: http://stackoverflow.com/a/3255716/424129 –
您只能从类内部访问类的私有成员。如果您无法修改该类的源代码,则无法更改私有变量。 –
@BenjaminHodgson PrivateObject是一种类型,它执行必要的反射工作来访问私有成员。见https://msdn.microsoft.com/en-us/library/microsoft.visualstudio.testtools.unittesting.privateobject.aspx –