Gewusst wie: Steuern der Verfügbarkeit einer Variablen (Visual Basic)
Sie steuern die Verfügbarkeit einer Variablen, indem Sie die Zugriffsebene angeben. Die Zugriffsebene bestimmt, welcher Code über die Berechtigung zum Lesen oder Schreiben der Variablen verfügt.
Membervariablen (auf Modulebene und außerhalb von Prozeduren definiert) sind standardmäßig auf öffentlichen Zugriff festgelegt, was bedeutet, dass jeglicher Code, für den sie sichtbar sind, auf sie zugreifen kann. Sie können dies ändern, indem Sie einen Zugriffsmodifizierer angeben.
lokale Variablen (innerhalb einer Prozedur definiert) bieten nominal öffentlichen Zugriff, obwohl nur Code innerhalb ihrer Prozedur auf sie zugreifen kann. Sie können die Zugriffsebene einer lokalen Variablen nicht ändern, aber Sie können die Zugriffsebene der Prozedur ändern, in der sie enthalten ist.
Weitere Informationen finden Sie unter Zugriffsebenen in Visual Basic.
Privater und öffentlicher Zugriff
Zugänglichmachen einer Variable nur innerhalb ihres Moduls, ihrer Klasse oder ihrer Struktur
Platzieren Sie die Dim-Anweisung für die Variable innerhalb des Moduls, der Klasse oder der Struktur, aber 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 in sie schreiben, nicht aber von außen.
Zugänglichmachen einer Variable aus beliebigem Code, für den sie sichtbar ist
Wenn es sich um eine Membervariable handelt, platzieren Sie die
Dim
-Anweisung für die Variable innerhalb eines Moduls, einer Klasse oder einer Struktur, aber außerhalb einer Prozedur.Schließen Sie das Schlüsselwort Public in die
Dim
-Anweisung ein.Zum Lesen oder Schreiben der Variable können Sie jeden Code verwenden, für den Interoperabilität mit Ihrer Assembly besteht.
Oder
Wenn es sich um eine lokale Variable handelt, platzieren Sie die
Dim
--Anweisung für die Variable innerhalb einer Prozedur.Schließen Sie das Schlüsselwort
Public
nicht in dieDim
-Anweisung ein.Sie können die Variable von überall innerhalb der Prozedur lesen oder in sie schreiben, aber nicht von außerhalb der Prozedur.
Geschützter Zugriff und Friend-Zugriff
Sie können die Zugriffsebene einer Variablen auf ihre Klasse und alle abgeleiteten Klassen oder auf ihre Assembly beschränken. Sie können auch eine Vereinigung dieser Einschränkungen angeben, was den Zugriff von Code in einer abgeleiteten Klasse oder an einer anderen Stelle innerhalb derselben Assembly ermöglicht. Diese Vereinigung geben Sie durch Kombination der Schlüsselwörter Protected
und Friend
in derselben Deklaration an.
Zugänglichmachen einer Variable nur innerhalb ihrer Klasse und aller abgeleiteten Klassen
Platzieren Sie die
Dim
-Anweisung für die Variable innerhalb einer Klasse, aber außerhalb einer Prozedur.Schließen Sie das Schlüsselwort Protected in die
Dim
-Anweisung ein.Sie können die Variable von überall innerhalb der Klasse sowie innerhalb einer beliebigen davon abgeleiteten Klasse lesen oder in sie schreiben, aber nicht von außerhalb einer Klasse in der Ableitungskette.
Zugänglichmachen einer Variable nur innerhalb derselben Assembly
Platzieren Sie die
Dim
-Anweisung für die Variable innerhalb eines Moduls, einer Klasse oder einer Struktur, aber außerhalb einer Prozedur.Schließen Sie das Schlüsselwort Friend in die
Dim
-Anweisung ein.Sie können die Variable von überall innerhalb des Moduls, der Klasse oder der Struktur sowie von beliebigem Code in derselben Assembly lesen oder in sie schreiben, aber nicht von außerhalb der Assembly.
Beispiel
Das folgende Beispiel zeigt Deklarationen von Variablen mit den Zugriffsebenen Public
, Protected
, Friend
, Protected Friend
und Private
. Beachten Sie Folgendes: Wenn die Dim
-Anweisung eine Zugriffsebene angibt, müssen Sie das Schlüsselwort Dim
nicht einschließen.
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 geringer ist die Wahrscheinlichkeit, dass schädlicher Code sie ausnutzen kann.