我有一个从远程网站接收数据的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