在阅读我的一个旧项目时,我发现了一些可疑的地方,我不明白为什么这部分有效:
Public Shared Sub getXMLforProject(QueryString As String)
Dim linkStart As String = "http://example.org"
Dim linkEnd As String = "&tempMax=2000"
Dim target As String = linkStart & QueryString & linkEnd
'replaces parts that need encoding,
'groups(1) is the sign e.g. <= and groups(2) is the text that needs encoding
'groups(0) is the text of the full match (sign and encoding text)
target = rx.Replace(target, Function(m As Match) encodeURLString(m.Groups(1).Value) + encodeURLString(m.Groups(2).Value))
GUI.WebBrowser.Navigate(target)
Return True
End Sub
对我来说可疑的相应路径是行
GUI.WebBrowser.Navigate(target)
有一个名为GUI的类可以实现用户界面,但在文件上下文中没有可用的名为“GUI”的对象,因此必须使用该类进行访问。这怎么可能有效?是否存在将调用从GUI类重定向到GUI对象的隐式机制?
答案 0 :(得分:2)
您正在使用VB.NET,它模拟早期Visual Basic版本中Form类的行为,其中使用类型名称是一种合法的方式来引用实例班级。有点必须给程序员一个转换他们的VB6项目的战斗机会。底层管道是My.Forms object。
因此,99.9%的可能性是GUI类派生自System.Windows.Forms.Form。特别是它有一个WebBrowser成员。表单是浏览器的主机窗口。