Me, My, MyBase y MyClass en Visual Basic
Me, My, MyBase y MyClass en Visual Basic tienen nombres similares pero finalidades diferentes. En esta tema se describe cada una de estas entidades para distinguirlas.
Me
La palabra clave Me siempre hace referencia a la instancia específica de una clase o estructura donde se está ejecutando el código. Me se comporta como una variable de objeto o de estructura que hace referencia a la instancia actual. El uso de la palabra clave Me es especialmente útil para transferir información acerca de la instancia de una clase o estructura que se está ejecutando actualmente a un procedimiento de otro módulo, estructura o clase.
Por ejemplo, suponga que dispone del siguiente procedimiento en un módulo.
Sub ChangeFormColor(FormName As Form)
Randomize()
FormName.BackColor = Color.FromArgb(Rnd() * 256, Rnd() * 256, Rnd() * 256)
End Sub
Puede llamar a este procedimiento y pasar como argumento la instancia actual de la clase Form mediante la instrucción siguiente.
ChangeFormColor(Me)
My
La característica My proporciona acceso fácil e intuitivo a una serie de clases de .NET Framework, lo que permite que el usuario de Visual Basic interactúe con el equipo, la aplicación, la configuración, los recursos, etc.
MyBase
La palabra clave MyBase se comporta como una variable de objeto que hace referencia a la clase base de la instancia actual de una clase. MyBase suele usarse para obtener acceso a los miembros de la clase base que se reemplazan o se sombrean en una clase derivada. MyBase.New se utiliza para llamar explícitamente a un constructor de una clase base desde un constructor de una clase derivada.
MyClass
La palabra clave MyClass se comporta como una variable de objeto que hace referencia a la instancia actual de una clase tal y como se implementó originalmente. MyClass es similar a Me, pero todas las llamadas de método realizadas a través de ella se tratan como si el método fuese NotOverridable.