Me, My, MyBase e MyClass no Visual Basic
Me
, My
, MyBase
e MyClass
no Visual Basic têm nomes semelhantes, mas propósitos diferentes. Este tópico descreve cada uma dessas entidades para distingui-las.
Eu
A palavra-chave Me
fornece uma maneira de se referir à instância específica de uma classe ou estrutura na qual o código está sendo executado no momento. Me
se comporta como uma variável de objeto ou uma variável de estrutura que se refere à instância atual. Usar Me
é particularmente útil para passar informações sobre a instância em execução atualmente de uma classe ou estrutura para um procedimento em outra classe, estrutura ou módulo.
Por exemplo, suponha que você tenha o procedimento a seguir em um módulo.
Sub ChangeFormColor(FormName As Form)
Randomize()
FormName.BackColor = Color.FromArgb(Rnd() * 256, Rnd() * 256, Rnd() * 256)
End Sub
Você pode chamar esse procedimento e passar a instância atual da classe Form como um argumento usando a instrução a seguir.
ChangeFormColor(Me)
Meu
O recurso My
oferece acesso rápido e intuitivo a inúmeras classes do .NET Framework, permitindo que o usuário do Visual Basic interaja com o computador, com o aplicativo, com as configurações, com os recursos e assim por diante. Para obter uma lista dessas classes, confira a referência Objetos de Tempo de Execução do Visual Basic.
MyBase
A palavra-chave MyBase
se comporta como uma variável de objeto que se refere à classe base da instância atual de uma classe. MyBase
é comumente usado para acessar membros de classe base que são substituídos ou sombreados em uma classe derivada. MyBase.New
é usado para chamar explicitamente um construtor de classe base de um construtor de classe derivada.
MyClass
A palavra-chave MyClass
se comporta como uma variável de objeto que se refere à instância atual de uma classe, conforme implementado originalmente. MyClass
é semelhante a Me
, mas todas as chamadas de método nele são tratadas como se o método fosse NotOverridable
.