Do access modifiers affect reflection also?

2020-02-12 06:05发布

I always believe they did, but seeing some answers here make me doubt...

Can I access private fields/properties/methods from outside a class through reflection?

4条回答
神经病院院长
2楼-- · 2020-02-12 06:30

Yes you can, you just specify the access modifier in the BindingFlags when you access them.

查看更多
ら.Afraid
3楼-- · 2020-02-12 06:35

Yes you can access private fields via reflection. This is how a lot of ORMs go about populating an object without going through your properties (which will invoke business logic you might not have intended to be run on an object load).

Access modifiers are not a form of security!

查看更多
\"骚年 ilove
4楼-- · 2020-02-12 06:40

You do, however, need extra permissions for accessing private/protected/internal fields/properties/methods from outside a class through reflection.

查看更多
我欲成王,谁敢阻挡
5楼-- · 2020-02-12 06:43

Yes you can: but you really should questions yourself why you're going to :)

There is actually only one case, where it can make sense and this is a UnitTest.

查看更多
登录 后发表回答