Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Biasanya, variabel berada dalam cakupan, atau terlihat untuk referensi, di seluruh wilayah tempat Anda mendeklarasikannya. Dalam beberapa kasus, tingkat akses variabel dapat memengaruhi cakupannya.
Untuk informasi selengkapnya, lihat Cakupan di Visual Basic.
Cakupan pada Tingkat Blok atau Prosedur
Untuk membuat variabel hanya terlihat dalam blok
Tempatkan Pernyataan Dim untuk variabel antara pernyataan deklarasi yang memulai dan mengakhiri blok tersebut, misalnya antara pernyataan
FordanNextperulanganFor.Anda hanya dapat merujuk ke variabel dari dalam blok.
Untuk membuat variabel hanya terlihat dalam prosedur
Tempatkan
Dimpernyataan untuk variabel di dalam prosedur tetapi di luar blok apa pun (sepertiWithblok ...End With).Anda dapat merujuk ke variabel hanya dari dalam prosedur, termasuk di dalam blok apa pun yang terkandung dalam prosedur.
Cakupan pada Tingkat Modul atau Namespace
Untuk kenyamanan, istilah tunggal tingkat modul berlaku sama untuk modul, kelas, dan struktur. Tingkat akses variabel tingkat modul menentukan cakupannya. Namespace yang berisi modul, kelas, atau struktur juga memengaruhi cakupan.
Untuk membuat variabel terlihat di seluruh modul, kelas, atau struktur
Tempatkan
Dimpernyataan untuk variabel di dalam modul, kelas, atau struktur, tetapi di luar prosedur apa pun.Sertakan kata kunci Privat dalam
Dimpernyataan.Anda dapat merujuk ke variabel dari mana saja dalam modul, kelas, atau struktur, tetapi tidak dari luarnya.
Untuk membuat variabel terlihat di seluruh namespace
Tempatkan
Dimpernyataan untuk variabel di dalam modul, kelas, atau struktur, tetapi di luar prosedur apa pun.Anda dapat merujuk ke variabel dari mana saja dalam namespace yang berisi modul, kelas, atau struktur.
Contoh
Contoh berikut mendeklarasikan variabel pada tingkat modul dan membatasi visibilitasnya ke kode dalam modul.
Module demonstrateScope
Private strMsg As String
Sub initializePrivateVariable()
strMsg = "This variable cannot be used outside this module."
End Sub
Sub usePrivateVariable()
MsgBox(strMsg)
End Sub
End Module
Dalam contoh sebelumnya, semua prosedur yang ditentukan dalam modul demonstrateScope dapat merujuk ke String variabel strMsg. Saat prosedur dipanggil usePrivateVariable , prosedur akan menampilkan konten variabel strMsg string dalam kotak dialog.
Dengan perubahan berikut ke contoh sebelumnya, variabel strMsg string dapat dirujuk oleh kode di mana saja di namespace deklarasinya.
Public strMsg As String
Pemrograman yang Kuat
Semakin sempit cakupan variabel, semakin sedikit peluang yang Anda miliki untuk secara tidak sengaja merujuknya sebagai pengganti variabel lain dengan nama yang sama. Anda juga dapat meminimalkan masalah pencocokan referensi.
Keamanan .NET Framework
Semakin sempit cakupan variabel, semakin kecil kemungkinan kode berbahaya dapat menggunakannya dengan tidak tepat.