我有一個從遠程網站接收數據的WebClient實例。我引用的DownloadProgressChanged事件處理程序,我試圖訪問InnerBuffer,這是WebClient的在DownloadBitsState嵌套類(設置爲私有)的內部場。訪問內部字段[WebClient]
我使用下面的代碼就在DownloadProgressChanged事件處理程序:
WebClient c = (WebClient)sender;
Type t = typeof(WebClient).GetNestedType("DownloadBitsState", BindingFlags.NonPublic);
FieldInfo m = t.GetField("InnerBuffer",BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.DeclaredOnly);
Debug.WriteLine(m.GetValue(c).ToString());
我得到一個運行時錯誤:FieldAccessException(System.Net.WebClient+DownloadBitsState.InnerBuffer
)
有什麼辦法,我可以讀取這個域或我根本無法讀取內部字段的內容?
這已經在我的回答的評論中全部討論過了。此外,它現在看來,這是Windows Phone 7. – leppie 2010-09-21 18:12:54
Ieppie,其中一些是,但我已經給了他一個'不'的確切答案,他不能這樣做,因爲如何使用DownloadBitsState。 – 2010-09-21 18:53:57