Freigeben über


Me, "My", "MyBase" und "MyClass" in Visual Basic

Me, My, MyBase und MyClass in Visual Basic weisen ähnliche Namen auf, werden jedoch zu unterschiedlichen Zwecken verwendet. In diesem Thema wird jede dieser Entitäten beschrieben, um die Unterschiede zu erläutern.

Me

Das Me-Schlüsselwort ermöglicht einen Verweis auf die bestimmte Instanz einer Klasse oder Struktur, in der der Code momentan ausgeführt wird. Das Me-Schlüsselwort verhält sich wie eine Objektvariable oder eine Strukturvariable, die auf die aktuelle Instanz verweist. Me ist vor allem bei der Übergabe von Informationen über die momentan ausgeführte Instanz einer Klasse oder Struktur an eine Prozedur in einer anderen Klasse oder Struktur oder in einem anderen Modul hilfreich.

Beispiel: Ein Modul enthält die folgende Prozedur.

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

Sie können diese Prozedur aufrufen und die aktuelle Instanz der Form-Klasse mithilfe der folgenden Anweisung als Argument übergeben.

ChangeFormColor(Me)

My

Die My-Funktion ermöglicht es, einfach und intuitiv auf eine Reihe von .NET Framework-Klassen zuzugreifen, sodass der Visual Basic-Benutzer mit dem Computer, der Anwendung, mit Einstellungen, Ressourcen usw. interagieren kann.

MyBase

Das MyBase-Schlüsselwort verhält sich wie eine Objektvariable, die auf die Basisklasse der aktuellen Instanz einer Klasse verweist. MyBase wird häufig für den Zugriff auf Basisklassenmember verwendet, die in einer abgeleiteten Klasse überschrieben werden oder für die ein Shadowing durchgeführt wird. MyBase.New dient dazu, Basisklassenkonstruktoren aus einem abgeleiteten Klassenkonstruktor explizit aufzurufen.

MyClass

Das MyClass-Schlüsselwort verhält sich wie eine Objektvariable, die auf die aktuelle Klasseninstanz gemäß der ursprünglichen Implementierung verweist. MyClass ist mit Me vergleichbar, alle zugehörigen Methodenaufrufe werden jedoch so behandelt, als wäre die aufgerufene Methode NotOverridable.

Siehe auch

Konzepte

Grundlagen der Vererbung (Visual Basic)