类中的私有和保护类型在外部是不能直接获取到其值的,然而通过反射得到Type类的GetFields方法可以得到私有字段。
一些概念:
元数据:有关程序及其类型的数据。
反射:一个运行的程序查看本身或者其他程序的元数据的行为叫做反射。
使用反射命名空间:System.Reflection
Tpye类:包含类型信息的抽象类
Typeof():用于获取类型的 System.Type 对象
示例:
1.自定义类RefClass:
RefClass类中定义了私有字段Priv_Test1 = 3;一般而言从外部无法获取它的值的
2.获取RefClass类的类型,通过GetFields获得字段并输出到控制台
结果:
可以看得我们已经可以读取Priv_Test1值了。当然我们也可以修改它的值。
通过SetValue()修改私有字段值:
控制台输出: