Uwaga
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Poziom dostępu zadeklarowanego elementu jest zakresem możliwości uzyskiwania do niego dostępu, czyli tego, jaki kod ma uprawnienia do jego odczytu lub zapisu. Jest to określane nie tylko przez sposób deklarowania samego elementu, ale także przez poziom dostępu kontenera elementu. Kod, który nie może uzyskać dostępu do elementu zawierającego, nie może uzyskać dostępu do żadnego z zawartych elementów, nawet tych zadeklarowanych jako Public
. Na przykład zmienna Public
w strukturze Private
może być dostępna z wewnątrz klasy zawierającej strukturę, ale nie spoza tej klasy.
Publiczność
Słowo kluczowe Public w instrukcji deklaracji określa, że dostęp do elementu można uzyskać z kodu w dowolnym miejscu w tym samym projekcie, z innych projektów odwołujących się do projektu i z dowolnego zestawu utworzonego z projektu. Poniższy kod przedstawia przykładową Public
deklarację:
Public Class ClassForEverybody
Można używać Public
tylko na poziomie modułu, interfejsu lub przestrzeni nazw. Oznacza to, że można zadeklarować element publiczny na poziomie pliku źródłowego lub przestrzeni nazw albo wewnątrz interfejsu, modułu, klasy lub struktury, ale nie w procedurze.
Zabezpieczone
Słowo kluczowe Protected w instrukcji deklaracji określa, że dostęp do elementu można uzyskać tylko z poziomu tej samej klasy lub z klasy pochodzącej z tej klasy. Poniższy kod przedstawia przykładową Protected
deklarację:
Protected Class ClassForMyHeirs
Można używać Protected
tylko na poziomie klasy i tylko wtedy, gdy deklarujesz składową klasy. Oznacza to, że można zadeklarować chroniony element w klasie, ale nie na poziomie pliku źródłowego lub przestrzeni nazw albo wewnątrz interfejsu, modułu, struktury lub procedury.
Przyjaciel
Słowo kluczowe Friend w instrukcji deklaracji określa, że dostęp do elementu można uzyskać z poziomu tego samego zestawu, ale nie spoza zestawu. Poniższy kod przedstawia przykładową Friend
deklarację:
Friend stringForThisProject As String
Można używać Friend
tylko na poziomie modułu, interfejsu lub przestrzeni nazw. Oznacza to, że można zadeklarować element typu friend na poziomie pliku źródłowego lub w przestrzeni nazw, albo wewnątrz interfejsu, modułu, klasy lub struktury, ale nie w procedurze.
Chroniony przyjaciel
Kombinacja słowa kluczowego Protected Friend w instrukcji deklaracji określa, że dostęp do elementu można uzyskać z klas pochodnych lub z poziomu tego samego zestawu lub obu tych elementów. Poniższy kod przedstawia przykładową Protected Friend
deklarację:
Protected Friend stringForProjectAndHeirs As String
Można używać Protected Friend
tylko na poziomie klasy i tylko wtedy, gdy deklarujesz składową klasy. Oznacza to, że można zadeklarować chroniony zaprzyjaźniony element w klasie, ale nie na poziomie pliku źródłowego, przestrzeni nazw ani wewnątrz interfejsu, modułu, struktury czy procedury.
Prywatne
Słowo kluczowe Private w instrukcji deklaracji określa, że dostęp do elementu można uzyskać tylko z poziomu tego samego modułu, klasy lub struktury. Poniższy kod przedstawia przykładową Private
deklarację:
Private _numberForMeOnly As Integer
Można używać Private
tylko na poziomie modułu. Oznacza to, że można zadeklarować element prywatny wewnątrz modułu, klasy lub struktury, ale nie na poziomie pliku źródłowego lub przestrzeni nazw, wewnątrz interfejsu lub w procedurze.
Na poziomie modułu instrukcja Dim
bez słów kluczowych określających poziom dostępu jest równoważna deklaracji Private
. Możesz jednak użyć słowa kluczowego Private
, aby ułatwić odczytywanie i interpretowanie kodu.
Ochrona prywatna
Kombinacja słowa kluczowego Private Protected w instrukcji deklaracji określa, że dostęp do elementu można uzyskać tylko z poziomu tej samej klasy, a także z klas pochodnych znalezionych w tym samym zestawie co zawierająca klasa. Modyfikator Private Protected
dostępu jest obsługiwany od wersji Visual Basic 15.5.
W poniższym przykładzie pokazano deklarację Private Protected
:
Private Protected internalValue As Integer
Element można zadeklarować Private Protected
tylko wewnątrz klasy. Nie można zadeklarować go w interfejsie lub strukturze ani zadeklarować go na poziomie pliku źródłowego lub przestrzeni nazw, wewnątrz interfejsu lub struktury lub procedury.
Modyfikator Private Protected
dostępu jest obsługiwany przez program Visual Basic 15.5 lub nowszy. Aby go użyć, należy dodać następujący element do pliku projektu Visual Basic (*.vbproj). Jeśli program Visual Basic 15.5 lub nowszy jest zainstalowany w systemie, umożliwia korzystanie ze wszystkich funkcji językowych obsługiwanych przez najnowszą wersję kompilatora języka Visual Basic:
<PropertyGroup>
<LangVersion>latest</LangVersion>
</PropertyGroup>
Aby użyć Private Protected
modyfikatora dostępu, należy dodać następujący element do pliku projektu Visual Basic (*.vbproj):
<PropertyGroup>
<LangVersion>15.5</LangVersion>
</PropertyGroup>
Aby uzyskać więcej informacji, zobacz ustawianie wersji języka Visual Basic.
Modyfikatory dostępu
Słowa kluczowe określające poziom dostępu są nazywane modyfikatorami dostępu. W poniższej tabeli porównaliśmy modyfikatory dostępu:
Modyfikator dostępu | Poziom dostępu udzielony | Elementy, które można zadeklarować przy użyciu tego poziomu dostępu | Kontekst deklaracji, w którym można użyć tego modyfikatora |
---|---|---|---|
Public |
Nieograniczony: Każdy kod, który może zobaczyć element publiczny, może uzyskać do niego dostęp |
Interfejsy Moduły Klasy Struktur Elementy struktury Procedury Właściwości Zmienne składowe Stałe Wyliczenia Zdarzenia Deklaracje zewnętrzne Delegatów |
Plik źródłowy Namespace Interfejs Moduł Klasa Struktura |
Protected |
Derivacyjny Kod w klasie, która deklaruje chroniony element lub klasę pochodną, może uzyskać dostęp do elementu |
Interfejsy Klasy Struktur Procedury Właściwości Zmienne składowe Stałe Wyliczenia Zdarzenia Deklaracje zewnętrzne Delegatów |
Klasa |
Friend |
Montaż: Kod w zestawie, który deklaruje, że element znajomy może uzyskać do niego dostęp |
Interfejsy Moduły Klasy Struktur Elementy struktury Procedury Właściwości Zmienne składowe Stałe Wyliczenia Zdarzenia Deklaracje zewnętrzne Delegatów |
Plik źródłowy Namespace Interfejs Moduł Klasa Struktura |
Protected
Friend
|
Unia Protected i Friend :Kod w tej samej klasie lub tym samym zestawie co chroniony element typu 'Friend', lub w dowolnej klasie dziedziczącej z klasy tego elementu, może uzyskać do niego dostęp. |
Interfejsy Klasy Struktur Procedury Właściwości Zmienne składowe Stałe Wyliczenia Zdarzenia Deklaracje zewnętrzne Delegatów |
Klasa |
Private |
Kontekst deklaracji: Kod w typie, który deklaruje element prywatny, w tym kod w zawartych typach, może uzyskać dostęp do elementu |
Interfejsy Klasy Struktur Elementy struktury Procedury Właściwości Zmienne składowe Stałe Wyliczenia Zdarzenia Deklaracje zewnętrzne Delegatów |
Moduł Klasa Struktura |
Private Protected |
Kod w klasie, która deklaruje prywatny element chroniony lub kod w klasie pochodnej znalezionej w tym samym zestawie co klasa bazowa. | Interfejsy Klasy Struktur Procedury Właściwości Zmienne składowe Stałe Wyliczenia Zdarzenia Deklaracje zewnętrzne Delegatów |
Klasa |