Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Normalerweise befindet sich eine Variable im Bereich oder für den Verweis sichtbar in der gesamten Region, in der Sie sie deklarieren. In einigen Fällen kann die Zugriffsebene der Variablen den Umfang beeinflussen.
Weitere Informationen finden Sie unter Scope in Visual Basic.
Gültigkeitsbereich auf Block- oder Prozedurebene
So zeigen Sie eine Variable nur innerhalb eines Blocks an
Platzieren Sie die Dim-Anweisung für die Variable zwischen den initiierenden und beendenden Deklarationsanweisungen dieses Blocks, z. B. zwischen den
ForundNextAnweisungen einerForSchleife.Sie können nur innerhalb des Blocks auf die Variable verweisen.
So zeigen Sie eine Variable nur innerhalb einer Prozedur an
Platzieren Sie die
DimAnweisung für die Variable innerhalb der Prozedur, aber außerhalb eines Blocks (z. B. einesWith...End With-Blocks).Sie können nur innerhalb der Prozedur auf die Variable verweisen, einschließlich innerhalb eines beliebigen Blocks, der in der Prozedur enthalten ist.
Bereich auf Modul- oder Namespaceebene
Der Einfachheit halber gilt der Begriff der Modulebene gleichermaßen für Module, Klassen und Strukturen. Die Zugriffsebene einer Variablen auf Modulebene bestimmt den Bereich. Der Namespace, der das Modul, die Klasse oder die Struktur enthält, beeinflusst auch den Bereich.
So machen Sie eine Variable während eines Moduls, einer Klasse oder einer Struktur sichtbar
Platzieren Sie die Anweisung für die
DimVariable innerhalb des Moduls, der Klasse oder der Struktur, jedoch außerhalb einer Prozedur.Schließen Sie das Schlüsselwort Private in die
DimAnweisung ein.Sie können von überall innerhalb des Moduls, der Klasse oder der Struktur auf die Variable verweisen, aber nicht von außerhalb.
So machen Sie eine Variable in einem Namespace sichtbar
Platzieren Sie die Anweisung für die
DimVariable innerhalb des Moduls, der Klasse oder der Struktur, jedoch außerhalb einer Prozedur.Schließen Sie das Schlüsselwort Friend oder Public in die
DimAnweisung ein.Sie können von überall innerhalb des Namespaces, der das Modul, die Klasse oder die Struktur enthält, auf die Variable verweisen.
Beispiel
Im folgenden Beispiel wird eine Variable auf Modulebene deklariert und die Sichtbarkeit auf Code innerhalb des Moduls beschränkt.
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
Im vorherigen Beispiel können alle im Modul demonstrateScope definierten Prozeduren auf die String Variable strMsgverweisen. Wenn die usePrivateVariable Prozedur aufgerufen wird, wird der Inhalt der Zeichenfolgenvariable strMsg in einem Dialogfeld angezeigt.
Mit der folgenden Änderung des vorherigen Beispiels kann die Zeichenfolgenvariable strMsg von Code an einer beliebigen Stelle im Namespace der Deklaration referenziert werden.
Public strMsg As String
Robuste Programmierung
Je schmaler der Bereich einer Variablen ist, desto weniger Möglichkeiten haben Sie, versehentlich anstelle einer anderen Variablen mit demselben Namen darauf zu verweisen. Sie können auch Probleme mit dem Verweisabgleich minimieren.
.NET Framework-Sicherheit
Je schmaler der Bereich einer Variablen ist, desto kleiner ist die Wahrscheinlichkeit, dass bösartiger Code ihn nicht ordnungsgemäß nutzen kann.