在使用反射时,我最近到了想要访问对象的位置(实际上是对象的静态实例)。
对象本身由内部类定义,因此没有其他方法可以访问它。我可以通过 Instance 属性访问静态实例,而不是直接获取参数化构造函数。在反射的帮助下,我也可以获取此属性并将其设置为PropertyInfo
实例 - 它被正确检测到。
但是,我无法通过GetValue
获取属性的值(因为它是通过内部类本身中的 get_Instance()调用的)并将其设置为对象因为我得到MethodAccessException
。
内部类标有SecuritySafeCritical
,但我相信这不应该是问题。
关于我为什么会遇到此异常的任何想法?
答案 0 :(得分:2)
它说
在以下情况下抛出此异常:
* A private, protected, or internal method that would not be accessible from normal compiled code is accessed from partially trusted code by using reflection.
* A security-critical method is accessed from transparent code.
* The access level of a method in a class library has changed, and one or more assemblies that reference the library have not been recompiled.
检查程序集是否已正确编译,并且您的应用程序具有适当的权限。