共用方式為


MyClass

更新:2007 年 11 月

提供一種方法來參考目前的類別 (Class) 執行個體 (Instance) 成員,而不需以任何衍生類別 (Derived Class) 覆寫加以取代。

備註

MyClass 關鍵字的行為就像將類別的目前執行個體參考成原始已實作的物件變數。MyClass 與 Me 類似,但會將 MyClass 上的每個方法和屬性呼叫都視為方法或屬性 (Property) 彷彿為 NotOverridable。因此,方法或屬性不受衍生類別中的覆寫所影響。下列範例將比較 Me 和 MyClass。

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

即使 derivedClass 覆寫 testMethod,在 useMyClass 中的 MyClass 關鍵字會使覆寫的效果無效,而且編譯器會解析對 testMethod 基底類別 (Base Class) 版本的呼叫。

您無法使用 Shared (Visual Basic) 方法內部的 MyClass,但可在執行個體方法中加以使用,以存取類別的共用成員。

請參閱

概念

繼承基本概念

參考

Me

MyBase