Me, My, MyBase och MyClass i Visual Basic
Me
, My
, MyBase
och 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
.