Ik, My, MyBase en MyClass in Visual Basic
Me
, My
, MyBase
en MyClass
in Visual Basic hebben vergelijkbare namen, maar verschillende doeleinden. In dit onderwerp wordt elk van deze entiteiten beschreven om ze te onderscheiden.
Ik
Het Me
trefwoord biedt een manier om te verwijzen naar het specifieke exemplaar van een klasse of structuur waarin de code momenteel wordt uitgevoerd. Me
gedraagt zich als een objectvariabele of een structuurvariabele die verwijst naar het huidige exemplaar. Het gebruik Me
is met name handig voor het doorgeven van informatie over het momenteel uitvoeren van een exemplaar van een klasse of structuur aan een procedure in een andere klasse, structuur of module.
Stel dat u de volgende procedure in een module hebt.
Sub ChangeFormColor(FormName As Form)
Randomize()
FormName.BackColor = Color.FromArgb(Rnd() * 256, Rnd() * 256, Rnd() * 256)
End Sub
U kunt deze procedure aanroepen en het huidige exemplaar van de Form klasse doorgeven als argument met behulp van de volgende instructie.
ChangeFormColor(Me)
Mijn
De My
functie biedt eenvoudige en intuïtieve toegang tot een aantal .NET Framework-klassen, waardoor de Visual Basic-gebruiker kan communiceren met de computer, toepassing, instellingen, resources enzovoort. Zie de naslaginformatie over runtimeobjecten van Visual Basic voor een lijst met deze klassen.
MyBase
Het MyBase
trefwoord gedraagt zich als een objectvariabele die verwijst naar de basisklasse van het huidige exemplaar van een klasse. MyBase
wordt vaak gebruikt voor toegang tot basisklasseleden die worden overschreven of schaduwen in een afgeleide klasse. MyBase.New
wordt gebruikt om expliciet een basisklasseconstructor aan te roepen van een afgeleide klasseconstructor.
MyClass
Het MyClass
trefwoord gedraagt zich als een objectvariabele die verwijst naar het huidige exemplaar van een klasse zoals oorspronkelijk is geïmplementeerd. MyClass
is vergelijkbaar met Me
, maar alle methode aanroepen worden behandeld alsof de methode .NotOverridable