Megosztás a következőn keresztül:


Hozzáférési szintek a Visual Basicben

A deklarált elemek hozzáférési szintje a hozzáférés képessége, vagyis az, hogy melyik kód rendelkezik olvasási vagy írási engedéllyel. Ezt nem csak az elem deklarálása határozza meg, hanem az elem tárolójának hozzáférési szintje is. A kód, amely nem tud hozzáférni egy adott elemhez, nem fér hozzá a benne lévő elemekhez, még a deklarált elemekhez Publicsem. Egy struktúrában lévő Private változó például Public a struktúrát tartalmazó osztályon belülről érhető el, de az osztályon kívülről nem.

Nyilvános

A deklarációs utasítás nyilvános kulcsszója azt határozza meg, hogy az elem a kódból bárhonnan elérhető legyen ugyanabban a projektben, a projektre hivatkozó más projektekből és a projektből létrehozott bármely szerelvényből. Az alábbi kód egy mintadeklarációt Public mutat be:

Public Class ClassForEverybody

Csak modul-, interfész- vagy névtérszinten használható Public . Ez azt jelenti, hogy egy nyilvános elemet deklarálhat egy forrásfájl vagy névtér szintjén, vagy egy interfészen, modulon, osztályon vagy struktúrán belül, de eljárásban nem.

Védett

A deklarációs utasítás védett kulcsszója azt határozza meg, hogy az elem csak ugyanabban az osztályban vagy az ebből az osztályból származtatott osztályból érhető el. Az alábbi kód egy mintadeklarációt Protected mutat be:

Protected Class ClassForMyHeirs

Csak osztályszinten használható Protected , és csak akkor, ha egy osztály tagját deklarálja. Ez azt jelenti, hogy védett elemet deklarálhat egy osztályban, de nem a forrásfájl vagy névtér szintjén, illetve egy interfészen, modulon, struktúrán vagy eljáráson belül.

Barátom

A deklarációs utasítás Barát kulcsszója azt határozza meg, hogy az elem ugyanabból a szerelvényből érhető el, de a szerelvényen kívülről nem. Az alábbi kód egy mintadeklarációt Friend mutat be:

Friend stringForThisProject As String

Csak modul-, interfész- vagy névtérszinten használható Friend . Ez azt jelenti, hogy egy barátelemet egy forrásfájl vagy névtér szintjén, vagy egy interfészen, modulon, osztályon vagy struktúrán belül deklarálhat, de eljárásban nem.

Védett barát

A deklarációs utasítás Védett barát kulcsszókombinációja azt határozza meg, hogy az elem származtatott osztályokból vagy ugyanazon szerelvényből vagy mindkettőből érhető el. Az alábbi kód egy mintadeklarációt Protected Friend mutat be:

Protected Friend stringForProjectAndHeirs As String

Csak osztályszinten használható Protected Friend , és csak akkor, ha egy osztály tagját deklarálja. Ez azt jelenti, hogy védett barátelemet deklarálhat egy osztályban, de nem a forrásfájl vagy névtér szintjén, illetve egy interfészen, modulon, struktúrán vagy eljáráson belül.

Személyes

A deklarációs utasítás privát kulcsszója azt határozza meg, hogy az elem csak ugyanabban a modulban, osztályban vagy struktúrában érhető el. Az alábbi kód egy mintadeklarációt Private mutat be:

Private _numberForMeOnly As Integer

Csak modulszinten használható Private . Ez azt jelenti, hogy egy privát elemet deklarálhat egy modulon, osztályon vagy struktúrán belül, de nem a forrásfájl vagy névtér szintjén, egy felületen belül vagy egy eljárásban.

A modul szintjén a Dim hozzáférési szintű kulcsszavak nélküli utasítás egyenértékű a deklarációval Private . Előfordulhat azonban, hogy a Private kulcsszóval szeretné megkönnyíteni a kód olvasását és értelmezését.

Privát védelem

A deklarációs utasítás Privát védelem alatt álló kulcsszókombinációja azt határozza meg, hogy az elem csak ugyanazon osztályon belülről érhető el, valamint azokat a származtatott osztályokat is, amelyek ugyanabban a szerelvényben találhatók, mint az azt tartalmazó osztály. A Private Protected hozzáférés-módosító a Visual Basic 15.5-től kezdve támogatott.

Az alábbi példa egy deklarációt Private Protected mutat be:

Private Protected internalValue As Integer

Egy Private Protected elemet csak egy osztályon belül deklarálhat. Nem deklarálhatja egy felületen vagy struktúrában, és nem deklarálhatja forrásfájl vagy névtér szintjén, interfészen vagy struktúrán belül, vagy eljárásban.

A Private Protected hozzáférés-módosítót a Visual Basic 15.5-ös és újabb verziói támogatják. A használatához adja hozzá a következő elemet a Visual Basic-projektfájlhoz (*.vbproj). Mindaddig, amíg a Visual Basic 15.5 vagy újabb verzió telepítve van a rendszerre, a Visual Basic fordító legújabb verziója által támogatott összes nyelvi funkciót kihasználhatja:

<PropertyGroup>
   <LangVersion>latest</LangVersion>
</PropertyGroup>

A Private Protected hozzáférés-módosító használatához a következő elemet kell hozzáadnia a Visual Basic-projektfájlhoz (*.vbproj):

<PropertyGroup>
   <LangVersion>15.5</LangVersion>
</PropertyGroup>

További információkért lásd a Visual Basic nyelvi verziójának beállítását.

Hozzáférési módosítók

A hozzáférési szintet meghatározó kulcsszavakat hozzáférési módosítóknak nevezzük. Az alábbi táblázat a hozzáférési módosítókat hasonlítja össze:

Hozzáférés-módosító Hozzáférési szint megadva Az ezzel a hozzáférési szinttel deklarálható elemek Deklarációs környezet, amelyen belül használhatja ezt a módosítót
Public Korlátlan:

Bármely kód, amely láthatja a nyilvános elemet, hozzáférhet hozzá
Interfészek

Modulok

Osztályok

Struktúrák

Tagstruktúra

Eljárások

Tulajdonságok

Tagváltozók

Állandók

Enumerálások

esemény

Külső deklarációk

Delegáltak
Forrásfájl

Névtér

Interfész

Modul

Osztály

Struktúra
Protected Származékos:

A védett elemet deklaráló vagy az abból származtatott osztály kódja hozzáférhet az elemhez
Interfészek

Osztályok

Struktúrák

Eljárások

Tulajdonságok

Tagváltozók

Állandók

Enumerálások

esemény

Külső deklarációk

Delegáltak
Osztály
Friend Összeszerelés:

A barátelemet deklaráló szerelvény kódja hozzáférhet hozzá
Interfészek

Modulok

Osztályok

Struktúrák

Tagstruktúra

Eljárások

Tulajdonságok

Tagváltozók

Állandók

Enumerálások

esemény

Külső deklarációk

Delegáltak
Forrásfájl

Névtér

Interfész

Modul

Osztály

Struktúra
Protected Friend Egyesítő Protected és Friend:

A kód ugyanabban az osztályban vagy szerelvényben, mint egy védett barátelem, vagy az elem osztályából származtatott bármely osztályon belül hozzáférhet hozzá
Interfészek

Osztályok

Struktúrák

Eljárások

Tulajdonságok

Tagváltozók

Állandók

Enumerálások

esemény

Külső deklarációk

Delegáltak
Osztály
Private Deklarációs környezet:

A privát elemet deklaráló típusú kód, beleértve a tartalmazott típusok kódját is, hozzáférhet az elemhez
Interfészek

Osztályok

Struktúrák

Tagstruktúra

Eljárások

Tulajdonságok

Tagváltozók

Állandók

Enumerálások

esemény

Külső deklarációk

Delegáltak
Modul

Osztály

Struktúra
Private Protected A privát védett elemet deklaráló osztály kódja, vagy egy származtatott osztály kódja, amely ugyanabban a szerelvényben található, mint a bas osztály. Interfészek

Osztályok

Struktúrák

Eljárások

Tulajdonságok

Tagváltozók

Állandók

Enumerálások

esemény

Külső deklarációk

Delegáltak
Osztály

Lásd még