Sdílet prostřednictvím


Postupy: Řízení rozsahu proměnné (Visual Basic)

Obvykle je proměnná v oboru, nebo pro odkaz v celé oblasti, ve které deklarovat je viditelný.V některých případech proměnné na úroveň přístupu mohou ovlivnit jeho oboru.

Další informace naleznete v tématu Rozsah v jazyce Visual Basic.

Obor na úrovni bloku nebo postup

Aby byly viditelné pouze v rámci bloku proměnné

  • Místo Dim – příkaz (Visual Basic) pro proměnnou mezi zahájení a ukončení příkazy deklarace bloku, například mezi For a Next prohlášení For smyčky.

    Můžete odkazovat k proměnné pouze v rámci bloku.

Aby byly viditelné pouze v rámci procedury proměnné

  • Místo Dim prohlášení pro proměnnou uvnitř postup, ale mimo jakékoli blok (například With...End With block).

    Můžete odkazovat pouze z proměnné v rámci postupu, včetně uvnitř bloku, všechny obsažené v postupu.

Obor na úrovni modulu nebo oboru názvů

Pro pohodlí jednoho slova úroveň modulu se použije i pro moduly tříd a struktur.Proměnná na úrovni modulu úroveň přístupu určuje oblast jeho působnosti.Obor názvů obsahující modul, třídy nebo struktury také ovlivňuje obor.

Zobrazte proměnné v celém modulu, třídy nebo struktury

  1. Místo Dim prohlášení pro proměnnou uvnitř modulu, třídy nebo struktury, ale mimo jakýkoliv postup.

  2. Zahrnout Private (Visual Basic) klíčové slovo v Dim prohlášení.

  3. Můžete odkazovat na proměnnou z kdekoli v rámci modulu, třídy nebo struktury, ale nikoli mimo něj.

Zobrazte proměnné v celém oboru názvů

  1. Místo Dim prohlášení pro proměnnou uvnitř modulu, třídy nebo struktury, ale mimo jakýkoliv postup.

  2. Zahrnout Friend (Visual Basic) nebo Public (Visual Basic) klíčové slovo v Dim prohlášení.

  3. Můžete odkazovat na proměnné z libovolného místa v rámci oboru názvů, obsahující modul, třídy nebo struktury.

Příklad

Následující příklad deklaruje proměnnou na úrovni modulu a omezuje viditelnost kódu modulu.

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

V předchozím příkladu všechny procedury definované v modulu demonstrateScope může odkazovat String proměnná strMsg.Když usePrivateVariable postup se nazývá, se zobrazí obsah proměnné řetězce strMsg v dialogovém okně.

S následující změnu v předchozím příkladu řetězcové proměnné strMsg lze uvedené kódu kdekoli v oboru názvů své prohlášení.

    Public strMsg As String

Robustní programování

Tím užší rozsah proměnné, méně příležitostí, které máte pro omylem odkazování namísto jiné proměnné se stejným názvem.Můžete také minimalizovat problémy s odpovídající odkaz.

Zabezpečení

Tím užší rozsah proměnné Čím menší je šance škodlivého kódu můžete provést nesprávné použití ji.

Viz také

Referenční dokumentace

Dim – příkaz (Visual Basic)

Koncepty

Rozsah v jazyce Visual Basic

Doba platnosti v jazyce Visual Basic

Úrovně přístupu v jazyce Visual Basic

Proměnné v jazyce Visual Basic

Deklarace proměnné v jazyce Visual Basic