MyClass

Mise à jour : novembre 2007

Permet de faire référence aux membres d'instance de la classe actuels sans qu'ils soient remplacés par toute substitution de classe dérivée.

Notes

Le mot clé MyClass se comporte comme une variable objet qui fait référence à l'instance actuelle d'une classe comme implémentée à l'origine. MyClass est semblable à Me, mais chaque appel de méthode et de propriété sur MyClass est traité comme si la méthode ou la propriété était NotOverridable. Par conséquent, la méthode ou la propriété n'est pas affectée par la substitution dans une classe dérivée. L'exemple suivant compare Me et 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

Même si derivedClass substitue testMethod, le mot clé MyClass de useMyClass annule les effets de la substitution, et le compilateur résout l'appel vers la version de la classe de base de testMethod.

Vous ne pouvez pas utiliser MyClass dans une méthode Shared (Visual Basic), mais vous pouvez l'utiliser à l'intérieur d'une méthode d'instance pour accéder à un membre partagé d'une classe.

Voir aussi

Concepts

Éléments fondamentaux de l'héritage

Référence

Me

MyBase