如果我有私有(private)类(class)
Class A
{
public static string foo;
}
我可以使用反射来访问该静态字段吗?当然假设我无法更改代码...
我遇到的问题是该类是在与我不同的命名空间中定义的。
假设我位于 Test 命名空间中,并且我引用了带有 FOO 命名空间的 DLL。
namespace FOO
{
Class A
{
public static string bar;
}
}
我想从命名空间 TEST 访问类 A 中的 bar 字段。
最佳答案
是的,可以。您需要获取Type
- 如何获取取决于您的应用的确切性质; Assembly.GetType(string)
例如,这将是一种选择。之后,您使用 Type.GetField
获取 FieldInfo
,然后询问该字段的值,使用 null
作为目标,因为它是静态的字段。
关于c# - 我可以使用 PrivateObject 类或 Reflection 来访问私有(private)类中的字段吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5323419/