Freigeben über


MyClass

Aktualisiert: November 2007

Bietet eine Möglichkeit, auf die aktuellen Klasseninstanzmember zu verweisen, ohne dass diese durch eventuell vorhandene Überschreibungen in abgeleiteten Klassen ersetzt werden.

Hinweise

Das MyClass-Schlüsselwort verhält sich wie eine Objektvariable, die auf die aktuelle Klasseninstanz gemäß ihrer ursprünglichen Implementierung verweist. MyClass hat Gemeinsamkeiten mit Me; allerdings wird jeder Aufruf einer Methode oder Eigenschaft unter Verwendung von MyClass so behandelt, als wäre die Methode oder Eigenschaft als NotOverridable deklariert. Daher wird die Methode oder Eigenschaft nicht durch das Überschreiben in einer abgeleiteten Klasse beeinflusst. Im folgenden Beispiel werden das Me-Schlüsselwort und das MyClass-Schlüsselwort miteinander verglichen.

Class baseClass
    Public Overridable Sub testMethod()
        MsgBox("Base class string")
    End Sub
    Public Sub useMe()
        ' The following call uses the calling class's version, even if 
        ' that version is an override.
        Me.testMethod()
    End Sub
    Public Sub useMyClass()
        ' The following call uses this version and not any override.
        MyClass.testMethod()
    End Sub
End Class
Class derivedClass : Inherits baseClass
    Public Overrides Sub testMethod()
        MsgBox("Derived class string")
    End Sub
End Class
Class testClasses
    Sub startHere()
        Dim testObj As derivedClass = New derivedClass()
        ' The following call displays "Derived class string".
        testObj.useMe()
        ' The following call displays "Base class string".
        testObj.useMyClass()
    End Sub
End Class

Obwohl testMethod durch derivedClass überschrieben wird, hebt das MyClass-Schlüsselwort in useMyClass diese Wirkung auf. Der Compiler löst daraufhin den Aufruf an die Basisklassenversion von testMethod auf.

Das MyClass-Schlüsselwort kann nicht innerhalb einer Shared (Visual Basic)-Methode verwendet werden. Es kann aber innerhalb einer Instanzenmethode eingesetzt werden, um auf einen freigegebenen Member einer Klasse zuzugreifen.

Siehe auch

Konzepte

Grundlagen der Vererbung

Referenz

Me

MyBase