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 haben versucht, innerhalb einer freigegebenen Prozedur auf einen nicht freigegebenen Member einer Klasse zu verweisen. Im folgenden Beispiel wird eine solche Situation veranschaulicht:
Class Sample
Public x as Integer
Public Shared Sub SetX()
x = 10
End Sub
End Class
Im vorherigen Beispiel generiert die Zuweisungsanweisung x = 10
diese Fehlermeldung. Das liegt daran, dass eine freigegebene Prozedur versucht, auf eine Instanzvariable zuzugreifen.
Die Variable x
ist ein Instanzmember, da sie nicht als Shared deklariert ist. Jede Instanz der Klasse Sample
enthält eine eigene x
-Variable. Wenn eine Instanz den Wert von x
festlegt oder ändert, wirkt sich das nicht auf den Wert von x
in einer anderen Instanz aus.
Die Prozedur SetX
ist jedoch in allen Instanzen der Klasse Sample
auf Shared
festgelegt. Das bedeutet, dass sie keiner Instanz der Klasse zugeordnet ist, sondern unabhängig von einzelnen Instanzen ausgeführt wird. Da sie nicht mit einer bestimmten Instanz in Verbindung steht, kann setX
nicht auf Instanzvariablen zugreifen. Sie kann nur Shared
-Variablen verwenden. Wenn SetX
den Wert einer freigegebenen Variablen festgelegt oder ändert, ist dieser neue Wert für alle Instanzen der Klasse verfügbar.
Fehler-ID: BC30369
So beheben Sie diesen Fehler
Entscheiden Sie, ob der Member für alle Instanzen der Klasse freigegeben oder jede Instanz ihren eigenen behalten soll.
Wenn eine einzelne Kopie des Members für alle Instanzen freigegeben werden soll, fügen Sie der Memberdeklaration das
Shared
-Schlüsselwort hinzu. Behalten Sie dasShared
-Schlüsselwort in der Prozedurdeklaration bei.Wenn jede Instanz über eine eigene Kopie des Members verfügen soll, geben Sie
Shared
nicht in der Memberdeklaration an. Entfernen Sie dasShared
-Schlüsselwort aus der Prozedurdeklaration.