利用反射获取类中私有字段


类中的私有和保护类型在外部是不能直接获取到其值的,然而通过反射得到Type类的GetFields方法可以得到私有字段。

一些概念:

元数据:有关程序及其类型的数据。

反射:一个运行的程序查看本身或者其他程序的元数据的行为叫做反射。

使用反射命名空间:System.Reflection

Tpye类:包含类型信息的抽象类

Typeof():用于获取类型的 System.Type 对象

示例:

1.自定义类RefClass

RefClass类中定义了私有字段Priv_Test1 = 3;一般而言从外部无法获取它的值的

2.获取RefClass类的类型,通过GetFields获得字段并输出到控制台

结果:

可以看得我们已经可以读取Priv_Test1值了。当然我们也可以修改它的值。

通过SetValue()修改私有字段值:

 

控制台输出:


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值