Jak: řízení oboru 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 Obor v jazyce Visual Basic.
Obor na úrovni bloku nebo postup
Aby byly viditelné pouze v rámci bloku proměnné
Místo Dim prohlášení (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
Místo Dim prohlášení pro proměnnou uvnitř modulu, třídy nebo struktury, ale mimo jakýkoliv postup.
Zahrnout Soukromé (Visual Basic) klíčové slovo v Dim prohlášení.
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ů
Místo Dim prohlášení pro proměnnou uvnitř modulu, třídy nebo struktury, ale mimo jakýkoliv postup.
Zahrnout Přítel (Visual Basic) nebo Veřejné (Visual Basic) klíčové slovo v Dim prohlášení.
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
Koncepty
Životnost v jazyce Visual Basic
Úrovně přístupu v jazyce Visual Basic