Compartir a través de


Me, My, MyBase y MyClass en Visual Basic

Me, My, MyBase y MyClass en Visual Basic tienen nombres similares, pero propósitos diferentes. En este tema se describe cada una de estas entidades para distinguirlas.

Yo

La palabra clave Me proporciona una manera de hacer referencia a la instancia específica de una clase o estructura en la que el código se está ejecutando actualmente. Me se comporta como una variable de objeto o una variable de estructura que hace referencia a la instancia actual. El uso de Me es especialmente útil para pasar información sobre la instancia en ejecución de una clase o estructura a un procedimiento de otra clase, estructura o módulo.

Por ejemplo, imagine que tiene el 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 la instancia actual de la clase Form como argumento 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 al usuario de Visual Basic interactuar con el equipo, la aplicación, la configuración, los recursos, etc. Para ver una lista de estas clases, consulte la referencia Objetos en tiempo de ejecución de Visual Basic.

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 se usa normalmente para acceder a los miembros de la clase base que se invalidan o se reemplazan en una clase derivada. MyBase.New se usa para llamar explícitamente a un constructor de clase base desde un constructor de clase derivada.

MyClass

La palabra clave MyClass se comporta como una variable de objeto que hace referencia a la instancia actual de una clase según su implementación original. MyClass es similar a Me, pero todas las llamadas de método en ella se tratan como si el método fuera NotOverridable.

Consulte también