2015-03-26 2 views
0

При чтении старого проекта шахты я нашел что-то подозрительное, где я действительно не понимаю, почему эта часть работает:Доступ к объекту по классу

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-объект?

+0

'GUI' _must_ существует где-то. Что произойдет, если вы выберете его и нажмите F12 - обычно в визуальной студии он отправит вас туда, где он объявлен. Также FYI - если вы хотите заменить веб-адреса в таких вещах, попробуйте использовать http://example.com или http://example.org - они существуют именно по этой причине –

+0

спасибо за подсказку, заменили его. Visual Studio на самом деле приводит меня к определению класса it self, а не к объекту класса – lsteinme

+0

Является ли это своего рода статическим/общим классом, который имеет статическую/общую собственность 'WebBrowser'? –

ответ

2

Вы используете VB.NET, он эмулирует поведение класса Form из предыдущих основных изданий Визуальных где, используя имятипа был законным способом сослаться на например класса. С любовью нужно дать программистам шанс для преобразования своих проектов VB6. Базовая сантехника - это My.Forms object.

Таким образом, 99,9% шансов, что класс GUI происходит из System.Windows.Forms.Form. Особенно учитывая, что у него есть член WebBrowser. Форма - это окно хоста для браузера.

Смежные вопросы