Scope and Lifetime
Dim is not the only way to declare a variable. The full list of declaration keywords is shown in Table 2-6.
Table 2-6. Visual Basic declaration statements
|
Statement |
Use to declare |
Available |
|---|---|---|
|
|
A variable with the default scope |
Inside or outside a procedure |
|
|
A variable or procedure that is available from other modules or classes |
Outside a procedure only |
|
|
A variable or procedure that is not available from other modules or classes |
Outside a procedure only |
|
|
A variable that retains its value between procedure calls |
Inside a procedure only |
Which statement you use to declare a variable and where you declare it determines the scope and lifetime
of that variable. Scope is the range of places from which a name is visible. Dim, Public, and Private are statements that specify scope. Lifetime is how long Visual Basic retains the value of a variable; Static specifies lifetime.
There are three levels of scope in a Visual Basic project:
Local variables are declared with
Diminside a procedure and are visible only from within that procedure.Module-level variables are declared outside of a procedure with
DimorPrivateand are visible only from all procedures within that module or class.Global variables are declared outside of a procedure with
Publicand are visible from all procedures in all modules and classes within the project.
Figure 2-10 illustrates the different levels of scope within a Visual Basic project.
Tip
It’s a common practice ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access