Share via


Me, My, MyBase och MyClass i Visual Basic

Me, My, MyBaseoch MyClass i Visual Basic har liknande namn, men olika syften. I det här avsnittet beskrivs var och en av dessa entiteter för att särskilja dem.

Jag

Nyckelordet Me är ett sätt att referera till den specifika instansen av en klass eller struktur där koden körs för närvarande. Me fungerar som antingen en objektvariabel eller en strukturvariabel som refererar till den aktuella instansen. Det är särskilt användbart att använda Me för att skicka information om den instans av en klass eller struktur som körs för närvarande till en procedur i en annan klass, struktur eller modul.

Anta till exempel att du har följande procedur i en modul.

Sub ChangeFormColor(FormName As Form)  
   Randomize()  
   FormName.BackColor = Color.FromArgb(Rnd() * 256, Rnd() * 256, Rnd() * 256)  
End Sub  

Du kan anropa den här proceduren och skicka den aktuella instansen Form av klassen som ett argument med hjälp av följande instruktion.

ChangeFormColor(Me)  

Min

Funktionen My ger enkel och intuitiv åtkomst till ett antal .NET Framework-klasser, vilket gör det möjligt för Visual Basic-användaren att interagera med datorn, programmet, inställningarna, resurserna och så vidare. En lista över dessa klasser finns i referensen för Visual Basic-körningsobjekt .

MyBase

Nyckelordet MyBase fungerar som en objektvariabel som refererar till basklassen för den aktuella instansen av en klass. MyBase används ofta för att komma åt basklassmedlemmar som åsidosätts eller skuggas i en härledd klass. MyBase.New används för att uttryckligen anropa en basklasskonstruktor från en härledd klasskonstruktor.

MyClass

Nyckelordet MyClass fungerar som en objektvariabel som refererar till den aktuella instansen av en klass som ursprungligen implementerades. MyClass liknar Me, men alla metodanrop på den behandlas som om metoden var NotOverridable.

Se även