The Me Keyword
The keyword Me
refers to the current instance of an
object. The Me
reference is a hidden reference to
every non-shared method of a class; shared methods are discussed
later in this chapter. Each method can refer to the other methods and
variables of that object by way of the Me
reference.
The Me
reference is typically used in any of three
ways. The first way is to qualify instance members that have the same
name as parameters, as in the following:
Public Sub SomeMethod(ByVal Hour As Integer) Me.Hour = Hour End Sub
In this example, SomeMethod( ) takes a parameter (Hour) with the same
name as a member variable of the class. The Me
reference is used to resolve the ambiguity. While
Me.Hour
refers to the member variable,
Hour
refers to the parameter.
Tip
The argument in favor of this style, which is often used in constructors, is that you pick the right variable name and then use it both for the parameter and for the member variable. The counter-argument is that using the same name for both the parameter and the member variable can be confusing.
The second use of the Me
reference is to pass the
current object as a parameter to another method, as in the following
code:
Public Sub myMethod( ) Dim someObject As New SomeType( ) someObject.SomeMethod(Me) End Sub
In this code snippet, you call a method on an object, passing in the
Me
reference. This allows the method
you’re calling access to the methods and properties
of the current object.
The third use of the Me
reference is ...
Get Programming Visual Basic .NET, Second Edition now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.