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


Me, My, MyBase и MyClass в Visual Basic

Me, , MyMyBaseи 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 функция обеспечивает простой и интуитивно понятный доступ к ряду классов .NET Framework, позволяя пользователю Visual Basic взаимодействовать с компьютером, приложением, параметрами, ресурсами и т. д. Список этих классов см. в справочнике по объектам времени выполнения Visual Basic .

MyBase

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

МойКласс

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

См. также