Me, My, MyBase и MyClass в Visual Basic
Me
, , My
MyBase
и MyClass
в Visual Basic имеют похожие имена, но разные цели. В этом разделе описывается каждая из этих сущностей, чтобы различать их.
У меня
Ключевое слово Me
предоставляет способ ссылаться на конкретный экземпляр класса или структуры, в которой в настоящее время выполняется код. Me
ведет себя как переменная объекта или переменная структуры, ссылающаяся на текущий экземпляр. Использование Me
особенно полезно для передачи сведений о текущем исполняемом экземпляре класса или структуры в процедуру в другом классе, структуре или модуле.
Например, предположим, что в модуле есть следующая процедура.
Sub ChangeFormColor(FormName As Form)
Randomize()
FormName.BackColor = Color.FromArgb(Rnd() * 256, Rnd() * 256, Rnd() * 256)
End Sub
Эту процедуру можно вызвать и передать текущий экземпляр Form класса в качестве аргумента с помощью следующей инструкции.
ChangeFormColor(Me)
My
Эта My
функция обеспечивает простой и интуитивно понятный доступ к ряду классов платформа .NET Framework, позволяя пользователю Visual Basic взаимодействовать с компьютером, приложением, параметрами, ресурсами и т. д. Список этих классов см. в справочнике по объектам времени выполнения Visual Basic.
MyBase
Ключевое слово MyBase
ведет себя как переменная объекта, ссылающаяся на базовый класс текущего экземпляра класса. MyBase
обычно используется для доступа к членам базового класса, которые переопределяются или теневые в производном классе. MyBase.New
используется для явного вызова конструктора базового класса из производного конструктора классов.
MyClass
Ключевое слово MyClass
ведет себя как переменная объекта, ссылающаяся на текущий экземпляр класса, как первоначально реализовано. MyClass
аналогичен Me
, но все вызовы метода обрабатываются так же, как если бы метод был NotOverridable
.