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.
Menentukan bahwa satu atau beberapa variabel lokal yang dideklarasikan akan terus ada dan mempertahankan nilai terbarunya setelah penghentian prosedur di mana variabel tersebut dinyatakan.
Komentar
Biasanya, variabel lokal dalam prosedur berhenti ada segera setelah prosedur berhenti. Variabel statis terus ada dan mempertahankan nilai terbarunya. Lain kali kode Anda memanggil prosedur, variabel tidak diinisialisasi ulang, dan masih menyimpan nilai terbaru yang Anda tetapkan untuk itu. Variabel statis terus ada selama masa pakai kelas atau modul tempat variabel tersebut ditentukan.
Aturan
Konteks Deklarasi. Anda hanya dapat menggunakan
Staticpada variabel lokal. Ini berarti konteks deklarasi untukStaticvariabel harus berupa prosedur atau blok dalam prosedur, dan tidak boleh berupa file sumber, namespace, kelas, struktur, atau modul.Anda tidak dapat menggunakan
Staticdi dalam prosedur struktur.Jenis
Staticdata variabel lokal tidak dapat disimpulkan. Untuk informasi selengkapnya, lihat Inferensi Jenis Lokal.Pengubah Gabungan. Anda tidak dapat menentukan
Staticbersama denganReadOnly,Shadows, atauShareddalam deklarasi yang sama.
Perilaku
Ketika Anda mendeklarasikan variabel statis dalam prosedur Shared , hanya satu salinan variabel statis yang tersedia untuk seluruh aplikasi. Anda memanggil Shared prosedur dengan menggunakan nama kelas, bukan variabel yang menunjuk ke instans kelas.
Saat Anda mendeklarasikan variabel statis dalam prosedur yang bukan Shared, hanya satu salinan variabel yang tersedia untuk setiap instans kelas. Anda memanggil prosedur non-bersama dengan menggunakan variabel yang menunjuk ke instans kelas tertentu.
Contoh
Contoh berikut menunjukkan penggunaan Static.
Function updateSales(ByVal thisSale As Decimal) As Decimal
Static totalSales As Decimal = 0
totalSales += thisSale
Return totalSales
End Function
Variabel StatictotalSales diinisialisasi menjadi 0 hanya satu kali. Setiap kali Anda memasukkan updateSales, totalSales masih memiliki nilai terbaru yang Anda hitung untuk itu.
Pengubah Static dapat digunakan dalam konteks ini: