2010-12-02 78 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