【发布时间】:2014-04-13 21:14:47
【问题描述】:
我有一个类在整个磁盘卷上执行一些敏感的 I/O 操作。敏感是指如果操作出错,它可能会损坏目标卷。
在一些发布后的测试中,我发现使用反射来操纵私有字段可能会破坏该进程。该类并非设计为sealed,因此库的使用者可以创建派生类。
有没有办法保护私有成员以防止通过反射(来自派生或消费者代码)进行修改?
更新:我发现从 Hans Passant 到 old question 的评论提到了 [ReflectionPermission]。现在正在调查。
【问题讨论】:
-
你不能阻止别人使用反射。
-
@Arran:当然不是。我的问题是关于 CLR 是否提供安全机制来防止访问标记的私有成员。
-
答案还是没有!
-
如果您的客户想要破坏他们的卷,他们有比破解您的软件更简单的方法。
标签: c# .net reflection private private-members