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.
Sie steuern die Verfügbarkeit einer Variablen, indem Sie die Zugriffsstufe angeben. Die Zugriffsebene bestimmt, welcher Code über die Berechtigung zum Lesen oder Schreiben in die Variable verfügt.
Membervariablen (definiert auf Modulebene und außerhalb einer Prozedur) standardmäßig für den öffentlichen Zugriff, was bedeutet, dass jeder Code, der sie sehen kann, darauf zugreifen kann. Sie können dies ändern, indem Sie einen Zugriffsmodifizierer angeben.
Lokale Variablen (definiert in einer Prozedur) haben nominal öffentlichen Zugriff, obwohl nur Code innerhalb ihrer Prozedur darauf zugreifen kann. Sie können die Zugriffsebene einer lokalen Variablen nicht ändern, aber Sie können die Zugriffsebene der Prozedur ändern, die sie enthält.
Weitere Informationen finden Sie unter Access-Ebenen in Visual Basic.
Privater und öffentlicher Zugriff
So können Sie eine Variable nur innerhalb des Moduls, der Klasse oder der Struktur zugänglich machen
Platzieren Sie die Dim-Anweisung für die Variable innerhalb des Moduls, der Klasse oder der Struktur, jedoch außerhalb einer Prozedur.
Schließen Sie das Schlüsselwort Private in die
Dim
Anweisung ein.Sie können die Variable von überall innerhalb des Moduls, der Klasse oder der Struktur lesen oder schreiben, aber nicht von außerhalb.
So machen Sie eine Variable über jeden Code zugänglich, der sie sehen kann
Platzieren Sie für eine Membervariable die Anweisung für die
Dim
Variable innerhalb eines Moduls, einer Klasse oder einer Struktur, jedoch außerhalb einer Prozedur.Schließen Sie das Schlüsselwort Public in die
Dim
Anweisung ein.Sie können die Variable aus jedem Code lesen oder schreiben, der mit Ihrer Assembly interagiert.
-oder-
Platzieren Sie für eine lokale Variable die Anweisung für die
Dim
Variable innerhalb einer Prozedur.Schließen Sie das
Public
Schlüsselwort nicht in dieDim
Anweisung ein.Sie können die Variable von überall innerhalb der Prozedur lesen oder schreiben, aber nicht von außerhalb.
Geschützter und Freundzugriff
Sie können die Zugriffsebene einer Variablen auf ihre Klasse und alle abgeleiteten Klassen oder auf die Assembly beschränken. Sie können auch die Vereinigung dieser Einschränkungen angeben, die den Zugriff von Code in einer abgeleiteten Klasse oder an einer anderen Stelle in derselben Assembly ermöglicht. Sie geben diese Vereinigung an, indem Sie die Protected
Friend
Schlüsselwörter in derselben Deklaration kombinieren.
So machen Sie eine Variable nur innerhalb ihrer Klasse und aller abgeleiteten Klassen zugänglich
Platzieren Sie die Anweisung für die
Dim
Variable innerhalb einer Klasse, aber außerhalb einer Prozedur.Schließen Sie das Protected-Schlüsselwort in die
Dim
Anweisung ein.Sie können die Variable von überall innerhalb der Klasse aus lesen oder schreiben sowie von einer beliebigen klasse, die daraus abgeleitet wurde, aber nicht von außerhalb einer Klasse in der Ableitungskette.
So können Sie eine Variable nur innerhalb derselben Assembly zugänglich machen
Platzieren Sie die
Dim
Anweisung für die Variable innerhalb eines Moduls, einer Klasse oder einer Struktur, jedoch außerhalb einer Prozedur.Schließen Sie das Friend-Schlüsselwort in die
Dim
Anweisung ein.Sie können die Variable von überall aus innerhalb des Moduls, der Klasse oder der Struktur sowie aus einem beliebigen Code in derselben Assembly lesen oder schreiben, aber nicht von außerhalb der Assembly.
Beispiel
Das folgende Beispiel zeigt Deklarationen von Variablen mit Public
, , Protected
, Friend
, Protected Friend
und Private
Zugriffsebenen. Beachten Sie, dass Sie das Schlüsselwort nicht einschließen Dim
müssen, wenn die Dim
Anweisung eine Zugriffsstufe angibt.
Public Class classForEverybody
Protected Class classForMyHeirs
Friend stringForThisProject As String
Protected Friend stringForProjectAndHeirs As String
Private numberForMeOnly As Integer
.NET Framework-Sicherheit
Je restriktiver die Zugriffsebene einer Variablen ist, desto kleiner ist die Wahrscheinlichkeit, dass bösartiger Code ihn nicht ordnungsgemäß nutzen kann.