Condividi tramite


MyClass

Aggiornamento: novembre 2007

Consente di fare riferimento ai membri dell'istanza della classe corrente senza che vengano sostituiti da override della classe derivata.

Note

La parola chiave MyClass ha lo stesso comportamento di una variabile oggetto che fa riferimento all'istanza corrente di una classe nella sua implementazione originale. MyClass è simile a Me, tuttavia tutte le chiamate di metodi e proprietà effettuate su MyClass vengono considerate come se il metodo o la proprietà fosse NotOverridable. Il metodo o la proprietà, quindi, non sono influenzati dall'override in una classe derivata. Nell'esempio seguente viene effettuato un confronto tra Me e 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

Anche se derivedClass effettua l'override di testMethod, la parola chiave MyClass in useMyClass annulla gli effetti dell'override e la chiamata viene risolta dal compilatore nella versione di classe base di testMethod.

Non è possibile utilizzare MyClass in un metodo Shared (Visual Basic). È tuttavia possibile utilizzare questa parola chiave in un metodo di istanza per accedere a un membro condiviso di una classe.

Vedere anche

Concetti

Nozioni fondamentali sull'ereditarietà

Riferimenti

Me

MyBase