Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Normalde bir değişken, içinde bildirdiğiniz bölgenin tamamında kapsam dahilindedir veya başvuru için görünür durumdadır. Bazı durumlarda değişkenin erişim düzeyi kapsamını etkileyebilir.
Daha fazla bilgi için bkz . Visual Basic'te Kapsam.
Blok veya Yordam Düzeyinde Kapsam
Bir değişkeni yalnızca bir blok içinde görünür hale getirmek için
Değişkenin Dim Deyimini, örneğin bir
For
döngünün ve deyimleri arasında, bu bloğunFor
başlatma veNext
sonlandırma bildirim deyimleri arasına yerleştirin.Değişkene yalnızca bloğun içinden başvurabilirsiniz.
Bir değişkeni yalnızca bir yordam içinde görünür hale getirmek için
Değişkenin
Dim
deyimini yordamın içine ancak herhangi birWith
bloğun (...End With
bloğu gibi) dışına yerleştirin.Değişkene yalnızca yordamın içinde, yordamda yer alan herhangi bir bloğun içinde de dahil olmak üzere başvurabilirsiniz.
Modül veya Ad Alanı Düzeyinde Kapsam
Kolaylık sağlamak için tek terimli modül düzeyi modüllere, sınıflara ve yapılara eşit şekilde uygulanır. Modül düzeyi değişkeninin erişim düzeyi, kapsamını belirler. Modülü, sınıfı veya yapıyı içeren ad alanı da kapsamı etkiler.
Bir değişkeni modül, sınıf veya yapı boyunca görünür hale getirmek için
Değişkenin
Dim
deyimini modülün, sınıfın veya yapının içine, ancak herhangi bir yordamın dışına yerleştirin.Deyimine Private anahtar sözcüğünü
Dim
ekleyin.Değişkene modül, sınıf veya yapı içinde herhangi bir yerden başvurabilirsiniz, ancak değişkenin dışından başvuramayın.
Bir değişkenin ad alanı genelinde görünür olmasını sağlamak için
Değişkenin
Dim
deyimini modülün, sınıfın veya yapının içine, ancak herhangi bir yordamın dışına yerleştirin.Değişkene, modülü, sınıfı veya yapıyı içeren ad alanı içinde herhangi bir yerden başvurabilirsiniz.
Örnek
Aşağıdaki örnek modül düzeyinde bir değişken bildirir ve modülün içindeki kodla görünürlüğünü sınırlar.
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
Yukarıdaki örnekte modülde demonstrateScope
tanımlanan tüm yordamlar değişkenine String
strMsg
başvurabilir. usePrivateVariable
Yordam çağrıldığında, dize değişkeninin strMsg
içeriğini bir iletişim kutusunda görüntüler.
Önceki örnekte yapılan aşağıdaki değişiklikle, dize değişkenine strMsg
bildiriminin ad alanında herhangi bir yerde kod tarafından başvurulabilir.
Public strMsg As String
Güçlü Programlama
Bir değişkenin kapsamı ne kadar dar olursa, aynı ada sahip başka bir değişkenin yerine yanlışlıkla başvurmak için sahip olduğunuz fırsat da o kadar az olur. Başvuru eşleştirme sorunlarını da en aza indirebilirsiniz.
.NET Framework Güvenliği
Bir değişkenin kapsamı ne kadar dar olursa, kötü amaçlı kodun bu değişkeni yanlış kullanma olasılığı o kadar az olur.