2010-12-02 72 views
0

虽然与反思工作的反思,最近我得到了我想要的地方访问对象(事实上,对象的静态实例)的点。MethodAccessException与Windows Phone 7的

对象本身是由一个内部类中定义,因此没有其他的方式来访问它。我可以通过实例属性访问静态实例,而不是直接获取参数化构造函数。在反射的帮助下,我也能够获得此属性并将其设置为PropertyInfo实例 - 它被正确检测到。

不过,我不能够通过GetValue获得属性的值(因为它是通过get_Instance()称为内部类本身),并将其设置为一个对象,因为我得到一个MethodAccessException

内部类标有SecuritySafeCritical,但我相信,不应该成为问题。

为什么我收到此异常任何想法?

回答

2

看一看MethodAccessException

它说

此异常情况中抛出,如以下几点:

*  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. 

检查装配是否正确编译和应用程序具有适当的权限。

+0

由于WP7应用程序在沙盒环境中运行,我敢肯定,这是通过将呼叫从部分信任的代码访问造成的事实 - 我理解这一点。我想知道是否有可能绕过这个限制。 – 2010-12-02 06:09:18