0
我想這樣做來獲得本地路徑的值如下:使用反射來得到一個屬性的屬性
Dim bar As WebProxy = WebProxy.GetDefaultProxy
Dim scriptEngine = bar.GetType().GetProperty("ScriptEngine", Reflection.BindingFlags.NonPublic Or Reflection.BindingFlags.Instance)
Dim acs As PropertyInfo = scriptEngine.PropertyType().GetProperty("AutomaticConfigurationScript", Reflection.BindingFlags.NonPublic Or Reflection.BindingFlags.Instance)
Dim localPath As PropertyInfo = acs.PropertyType().GetProperty("LocalPath", Reflection.BindingFlags.Public Or Reflection.BindingFlags.Instance)
Dim value As String = localPath.GetValue(acs, Nothing).ToString
我敢肯定的是,這裏的問題是,我傳遞一個PropertyInfo對象變成了localPath .GetValue,而不是實際的對象本身。唯一的問題是,我不能投的
Dim acs As PropertyInfo = scriptEngine.PropertyType().GetProperty("AutomaticConfigurationScript", Reflection.BindingFlags.NonPublic Or Reflection.BindingFlags.Instance)
結果成的System.Uri AutomaticConfigurationScript並把它傳遞,因此我得到一個錯誤「對象不匹配目標類型」。
任何想法?
P.S我意識到這不是一個C#的問題,但不想限制可能的答案,我已經標記它,因爲它是一個.NET的問題,如果我收到答案在C#我可以翻譯。
輝煌,感謝里德。我應該知道,但我現在有點時間限制恐慌:) – Ben 2010-10-06 15:00:40
@本:很高興它有幫助;) – 2010-10-06 15:05:54