访问修饰符也会影响反射吗?
Posted
技术标签:
【中文标题】访问修饰符也会影响反射吗?【英文标题】:Do access modifiers affect reflection also? 【发布时间】:2010-09-10 21:24:35 【问题描述】:我一直相信他们做到了,但是看到这里的一些答案让我怀疑......
我可以通过反射从类外部访问私有字段/属性/方法吗?
【问题讨论】:
【参考方案1】:是的,您可以通过反射访问私有字段。这就是许多 ORM 在不通过您的属性的情况下填充对象的方式(这将调用您可能不打算在对象加载时运行的业务逻辑)。
访问修饰符不是一种安全形式!
【讨论】:
不过,应用程序可能需要完全信任(或至少是 ReflectionPermission)。【参考方案2】:但是,您需要额外的权限才能通过反射从类外部访问私有/受保护/内部字段/属性/方法。
【讨论】:
是的,应用程序需要完全信任(或至少 ReflectionPermission)。【参考方案3】:是的,您可以,您只需在访问它们时在 BindingFlags 中指定访问修饰符。
【讨论】:
【参考方案4】:是的,你可以:但你真的应该问自己为什么要这样做:)
实际上只有一种情况是有意义的,这就是 UnitTest。
【讨论】:
以上是关于访问修饰符也会影响反射吗?的主要内容,如果未能解决你的问题,请参考以下文章