Поделиться через


Me, My, MyBase и MyClass в Visual Basic

Сущности Me, My, MyBase и MyClass в Visual Basic имеют похожие имена, но различные цели.Этот раздел описывает каждую из этих сущностей, чтобы их можно было различать.

Me

Ключевое слово 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 взаимодействовать с компьютером, приложением, настройками, ресурсами и т. д.

MyBase

Ключевое слово MyBase ведет себя подобно объектной переменной, ссылающейся на базовый класс текущего экземпляра.Ключевое слово MyBase обычно используется для обращения к членам базового класса, которые переопределены или скрыты в производном классе.Обращением MyBase.New можно воспользоваться для явного вызова конструктора базового класса из конструктора производного класса.

MyClass

Ключевое слово MyClass ведет себя подобно объектной переменной, ссылающейся текущий экземпляр класса, который был изначально реализован.Ключевое слово MyClass аналогично ключевому слову Me, но при этом все вызовы методов рассматриваются, как если бы методы относились к типу NotOverridable.

См. также

Основные понятия

Основы наследования (Visual Basic)