2013-10-04 63 views
1

調查.NET反射API我瞭解可以使用反射更改私有字段/屬性值,並且在這種情況下,安全性由反射權限控制。我的問題是如何控制代碼是否可以訪問私有字段? 從MSDN:如何控制反射權限?

爲了讓代碼來調用任何第三方成員:您的代碼必須 與 ReflectionPermissionFlag.MemberAccess標誌授予性ReflectionPermission。

如何讓我的類專用字段對使用反射的代碼不可見?這樣做的最佳做法是什麼?

回答

1

ReflectionPermission是使用反射授予代碼權限,而不是代碼反射

作爲一名開發人員,您無法做任何事情來阻止您的代碼被反映出來。你可以使用混淆,但這隻會讓反射變得更困難,而不是不可能。

作爲一名系統管理員,您可以通過爲機器強制執行適當的安全策略來阻止需要運行ReflectionPermission的代碼,但是,如果我正確理解了您的問題,則這不是您要查找的內容。