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

Эта My функция обеспечивает простой и интуитивно понятный доступ к ряду классов платформа .NET Framework, позволяя пользователю Visual Basic взаимодействовать с компьютером, приложением, параметрами, ресурсами и т. д. Список этих классов см. в справочнике по объектам времени выполнения Visual Basic.

MyBase

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

MyClass

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

См. также