关于.net:访问修饰符也会影响反射吗?

关于.net:访问修饰符也会影响反射吗?

Do access modifiers affect reflection also?

我一直相信他们做到了,但是看到这里的一些答案让我感到怀疑。

我可以通过反射从类外部访问私有字段/属性/方法吗?


是的,您可以通过反射访问私有字段。 这就是许多ORM如何在不通过属性的情况下填充对象的方式(这将调用您可能不打算在对象加载时运行的业务逻辑)。

访问修饰符不是安全形式!


但是,您确实需要额外的权限才能通过反射从类外部访问私有/受保护/内部字段/属性/方法。


是的,您可以,只要在访问它们时在BindingFlags中指定访问修饰符即可。


是的,您可以:但是您确实应该问自己为什么要去:)

实际上只有一种情况有意义,这是一个UnitTest。


推荐阅读