Bagikan melalui


Cara: Mengontrol Cakupan Variabel (Visual Basic)

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 For dan Next perulangan For.

    Anda hanya dapat merujuk ke variabel dari dalam blok.

Untuk membuat variabel hanya terlihat dalam prosedur

  • Tempatkan Dim pernyataan untuk variabel di dalam prosedur tetapi di luar blok apa pun (seperti Withblok ...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

  1. Tempatkan Dim pernyataan untuk variabel di dalam modul, kelas, atau struktur, tetapi di luar prosedur apa pun.

  2. Sertakan kata kunci Privat dalam Dim pernyataan.

  3. Anda dapat merujuk ke variabel dari mana saja dalam modul, kelas, atau struktur, tetapi tidak dari luarnya.

Untuk membuat variabel terlihat di seluruh namespace

  1. Tempatkan Dim pernyataan untuk variabel di dalam modul, kelas, atau struktur, tetapi di luar prosedur apa pun.

  2. Sertakan kata kunci Teman atau Publik dalam Dim pernyataan.

  3. 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.

Lihat juga