Porady: kontrolowanie dostępności zmiennej (Visual Basic)
Dostępność zmiennej można kontrolować, określając jej poziom dostępu. Poziom dostępu określa, jaki kod ma uprawnienia do odczytu lub zapisu w zmiennej.
Zmienne składowe (zdefiniowane na poziomie modułu i poza dowolną procedurą) są domyślne dla dostępu publicznego, co oznacza, że każdy kod, który może je zobaczyć, może uzyskać do nich dostęp. Można to zmienić, określając modyfikator dostępu.
Zmienne lokalne (zdefiniowane wewnątrz procedury) mają nominalny dostęp publiczny, chociaż tylko kod w ramach procedury może uzyskać do nich dostęp. Nie można zmienić poziomu dostępu zmiennej lokalnej, ale można zmienić poziom dostępu procedury, która ją zawiera.
Aby uzyskać więcej informacji, zobacz Poziomy dostępu w Visual Basic.
Dostęp prywatny i publiczny
Aby udostępnić zmienną tylko z poziomu modułu, klasy lub struktury
Umieść instrukcję Dim dla zmiennej wewnątrz modułu, klasy lub struktury, ale poza dowolną procedurą.
Dołącz słowo kluczowe Private w instrukcji
Dim
.Możesz odczytywać lub zapisywać w zmiennej z dowolnego miejsca w module, klasie lub strukturze, ale nie poza nią.
Aby udostępnić zmienną z dowolnego kodu, który może go zobaczyć
W przypadku zmiennej składowej umieść instrukcję
Dim
dla zmiennej wewnątrz modułu, klasy lub struktury, ale poza dowolną procedurą.Dołącz słowo kluczowe Public w instrukcji
Dim
.Możesz odczytywać lub zapisywać w zmiennej z dowolnego kodu, który współdziała z zestawem.
— lub —
W przypadku zmiennej lokalnej umieść instrukcję
Dim
dla zmiennej wewnątrz procedury.Nie dołączaj słowa kluczowego
Public
do instrukcjiDim
.Możesz odczytywać lub zapisywać w zmiennej z dowolnego miejsca w ramach procedury, ale nie spoza niej.
Chroniony i przyjazny dostęp
Można ograniczyć poziom dostępu zmiennej do jej klasy i dowolnych klas pochodnych lub do jej zestawu. Można również określić związek tych ograniczeń, który zezwala na dostęp z kodu w dowolnej klasie pochodnej lub w dowolnym innym miejscu w tym samym zestawie. Ten związek należy określić, łącząc Protected
słowa kluczowe i Friend
w tej samej deklaracji.
Aby udostępnić zmienną tylko z poziomu klasy i wszystkich klas pochodnych
Umieść instrukcję
Dim
dla zmiennej wewnątrz klasy, ale poza dowolną procedurą.Dołącz słowo kluczowe Chronione w instrukcji
Dim
.Można odczytywać lub zapisywać w zmiennej z dowolnego miejsca w klasie, a także z dowolnej klasy pochodzącej z niej, ale nie z zewnątrz żadnej klasy w łańcuchu wyprowadzania.
Aby udostępnić zmienną tylko z poziomu tego samego zestawu
Umieść instrukcję
Dim
dla zmiennej wewnątrz modułu, klasy lub struktury, ale poza dowolną procedurą.Dołącz słowo kluczowe Friend w instrukcji
Dim
.Możesz odczytywać lub zapisywać w zmiennej z dowolnego miejsca w module, klasie lub strukturze, a także z dowolnego kodu w tym samym zestawie, ale nie spoza zestawu.
Przykład
W poniższym przykładzie przedstawiono deklaracje zmiennych z poziomami Public
dostępu , Protected
, Friend
, Protected Friend
i Private
. Należy pamiętać, że gdy Dim
instrukcja określa poziom dostępu, nie trzeba dołączać słowa kluczowego Dim
.
Public Class classForEverybody
Protected Class classForMyHeirs
Friend stringForThisProject As String
Protected Friend stringForProjectAndHeirs As String
Private numberForMeOnly As Integer
Zabezpieczenia.NET Framework
Tym bardziej restrykcyjny poziom dostępu zmiennej, tym mniejsze są szanse na niewłaściwe użycie złośliwego kodu.