Aracılığıyla paylaş


Nasıl yapılır: (Visual Basic) değişken kapsamını denetleme

Normalde, bir değişkeni olduğunu Kapsam, ya da içinde bildirdiğiniz, bölge genelinde başvuru için görünür.Bazı durumlarda, değişken 's erişim düzeyini kapsamı etkileyebilirsiniz.

Daha fazla bilgi için bkz. Visual Basic'te kapsamı.

Blok veya yordam düzeyinde kapsam

Bir değişken bir blok içinde yalnızca görünür hale getirmek için

  • Yer Dim deyimi (Visual Basic) başlatma ve bildirim deyimleri bu bloğun arasında örneğin sonlandırma arasında değişken için For ve Next ifadeleri, bir For döngü.

    Yalnızca değişken bloğu içinde başvurabilirsiniz.

Bir değişken yalnızca bir yordam içinde görünür hale getirmek için

  • Yer Dim yordam içindeki ancak herhangi bir blok dışında değişken bildirimi (gibi bir With...End With block).

    Yalnızca değişken yordamda yer alan herhangi bir blok içinde dahil olmak üzere bu yordamı içinde başvurabilirsiniz.

Modül veya ad alanı düzeyinde kapsam

Rahatlık, tek terim için Modül Düzeyi modüller, sınıflar ve yapılar için eşit olarak geçerlidir.Modül Düzeyi değişkeni erişim düzeyi kapsamı belirler.Modül, sınıf ya da yapı içeren ad kapsamı da etkiler.

Bir değişken modülü, sınıf veya yapı içinde görünür hale getirmek için

  1. Yer Dim modülü, sınıf veya yapı içinde ancak dışında herhangi bir yordam değişken ifadesi.

  2. Dahil Özel (Visual Basic) bir anahtar sözcük Dim ifadesi.

  3. Değişken modülü, sınıf veya yapı içinde herhangi bir yerde, ancak değil, başvurabilirsiniz bunun dışında.

Bir değişkeni bir ad alanı boyunca görünür hale getirmek için

  1. Yer Dim modülü, sınıf veya yapı içinde ancak dışında herhangi bir yordam değişken ifadesi.

  2. Dahil Arkadaş (Visual Basic) veya Ortak (Visual Basic) bir anahtar sözcük Dim ifadesi.

  3. Yerden değişkenini ifade edebilir modülü, sınıf veya yapı içeren ad boşluğu içinde.

Örnek

Aşağıdaki örnek, modül düzeyinde bir değişken bildirir ve görünürlüğü modülü içindeki kod için 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, tüm yordamları modülünde tanımlanan demonstrateScope başvurabilir String değişken strMsg.Zaman usePrivateVariable yordam olarak adlandırılan, dize değişkeni içeriğini görüntüler strMsg iletişim kutusunda.

Birleþtirdiðiniz dize değişkeni için aşağıdaki değişikliği ile strMsg bildiriminde ad alanı herhangi bir yerindeki koduna göre baþvurulabilir.

    Public strMsg As String

Güçlü Programlama

Daha dar kapsamlı bir değişkenin yanlışlıkla aynı ada sahip başka bir değişken yerine başvuruda için sahip daha az fırsat.Ayrıca başvuru eşleştirme sorunları en aza indirebilirsiniz.

Güvenlik

Daha dar kapsamlı bir değişkenin kötü amaçlı kod yanlış yapabilir ne kadar küçük büyük olasılıkla bunu kullanın.

Ayrıca bkz.

Başvuru

Dim deyimi (Visual Basic)

Kavramlar

Visual Basic'te kapsamı

Visual Basic'te yaşam süresi

Visual Basic'te erişim düzeyleri

Visual Basic değişkenleri

Değişken bildiriminde Visual Basic