Partager via


Moi, My, MyBase et MyClass en Visual Basic

Me, , MyMyBaseet MyClass dans Visual Basic ont des noms similaires, mais des objectifs différents. Cette rubrique décrit chacune de ces entités afin de les distinguer.

Moi

Le Me mot clé fournit un moyen de faire référence à l’instance spécifique d’une classe ou d’une structure dans laquelle le code est en cours d’exécution. Me se comporte comme une variable objet ou une variable de structure faisant référence à l’instance actuelle. L’utilisation Me est particulièrement utile pour transmettre des informations sur l’instance en cours d’exécution d’une classe ou d’une structure à une procédure dans une autre classe, structure ou module.

Par exemple, supposons que vous ayez la procédure suivante dans un module.

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

Vous pouvez appeler cette procédure et passer l’instance actuelle de la Form classe en tant qu’argument à l’aide de l’instruction suivante.

ChangeFormColor(Me)  

Mon

La My fonctionnalité offre un accès facile et intuitif à un certain nombre de classes .NET Framework, ce qui permet à l’utilisateur Visual Basic d’interagir avec l’ordinateur, l’application, les paramètres, les ressources, et ainsi de suite. Pour obtenir la liste de ces classes, consultez la référence Objets d’exécution Visual Basic .

MyBase

Le MyBase mot clé se comporte comme une variable objet faisant référence à la classe de base de l’instance actuelle d’une classe. MyBase est couramment utilisé pour accéder aux membres de classe de base qui sont substitués ou masqués dans une classe dérivée. MyBase.New est utilisé pour appeler explicitement un constructeur de classe de base à partir d’un constructeur de classe dérivée.

MyClass

Le MyClass mot clé se comporte comme une variable objet faisant référence à l’instance actuelle d’une classe comme implémentée à l’origine. MyClass est similaire à Me, mais tous les appels de méthode dessus sont traités comme si la méthode était NotOverridable.

Voir aussi