Névtérutasítás
Deklarálja egy névtér nevét, és a deklarációt követő forráskódot az adott névtérben fordítja le.
Syntax
Namespace [Global.] { name | name.name }
[ componenttypes ]
End Namespace
Részek
Globálisan nem kötelező. Lehetővé teszi, hogy a projekt gyökérnévterén kívül definiáljon egy névteret. Lásd a Visual Basic névtereit.
name
Szükséges. A névteret azonosító egyedi név. Érvényes Visual Basic-azonosítónak kell lennie. További információ: Deklarált elemnevek.
componenttypes
Választható. A névteret alkotó elemek. Ezek közé tartoznak többek között az enumerálások, struktúrák, interfészek, osztályok, modulok, meghatalmazottak és egyéb névterek.
End Namespace
Leállítja a blokkot Namespace
.
Megjegyzések
A névterek szervezeti rendszerként használatosak. Lehetővé teszik a más programok és alkalmazások számára elérhető programozási elemek besorolását és bemutatását. Vegye figyelembe, hogy a névtér nem olyan típus , mint az osztály vagy a struktúra – nem deklarálhat programozási elemet úgy, hogy a névtér adattípusa legyen.
Az utasítás után Namespace
deklarált összes programozási elem az adott névtérhez tartozik. A Visual Basic továbbra is az utolsó deklarált névtérbe fordítja az elemeket, amíg egy utasításhoz vagy egy másik Namespace
utasításhoz nem ütközikEnd Namespace
.
Ha már definiált egy névteret, akár a projekten kívül is, programozási elemeket is hozzáadhat hozzá. Ehhez utasítással Namespace
utasíthatja a Visual Basicet, hogy elemeket fordítson az adott névtérbe.
Utasítást Namespace
csak a fájl vagy a névtér szintjén használhat. Ez azt jelenti, hogy a névtér deklarációs környezetének forrásfájlnak vagy más névtérnek kell lennie, és nem lehet osztály, struktúra, modul, felület vagy eljárás. További információ: Deklarációs környezetek és alapértelmezett hozzáférési szintek.
Deklarálhat egy névteret egy másikon belül. A beágyazási szintekre nincs szigorú korlát, de ne feledje, hogy amikor más kód hozzáfér a legbelső névtérben deklarált elemekhez, egy olyan minősítési sztringet kell használnia, amely tartalmazza a beágyazott hierarchiában lévő összes névtérnevet.
Hozzáférési szint
A névterek úgy vannak kezelve, mintha hozzáférési szinttel rendelkeznének Public
. A névterek a kódból bárhonnan elérhetők ugyanabban a projektben, a projektre hivatkozó más projektekből és a projektből létrehozott bármely szerelvényből.
A névtér szintjén deklarált programozási elemek, vagyis egy névtérben, de más elemen belül nem, rendelkezhetnek vagy Friend
hozzáférhetnekPublic
. Ha nincs meghatározva, az ilyen elem hozzáférési szintje alapértelmezés szerint használ Friend
. A névtér szintjén deklarálható elemek közé tartoznak az osztályok, struktúrák, modulok, interfészek, enumerálások és meghatalmazottak. További információ: Deklarációs környezetek és alapértelmezett hozzáférési szintek.
Gyökérnévtér
A projekt összes névterének neve gyökérnévtéren alapul. A Visual Studio a projekt összes kódjához alapértelmezett gyökérnévtérként rendeli hozzá a projekt nevét. Ha például a projekt neve el van nevezve Payroll
, a programozási elemei a névtérhez Payroll
tartoznak. Ha deklaráljaNamespace funding
, a névtér teljes neve .Payroll.funding
Ha meg szeretne adni egy meglévő névteret egy Namespace
utasításban, például az általános listaosztály példájában, a gyökérnévteret null értékre állíthatja. Ehhez kattintson a Projekt menü Projekttulajdonságok elemére, majd törölje a gyökérnévtér bejegyzésének törlését, hogy a mező üres legyen. Ha ezt nem az általános listaosztály példájában tette meg, a Visual Basic fordító új névtérként jelenik System.Collections.Generic
meg a projekten Payroll
belül, a teljes névvel Payroll.System.Collections.Generic
együtt.
A kulcsszóval Global
a projekten kívül definiált névterek elemeire is hivatkozhat. Ezzel lehetővé teszi a projektnév gyökérnévtérként való megőrzését. Ez csökkenti a programozási elemek és a meglévő névterek véletlen egyesítésének esélyét. További információkért lásd a Visual Basic névtereiben a "Globális kulcsszó teljes névvel" című szakaszt.
A Global
kulcsszó névtérutasításban is használható. Ez lehetővé teszi, hogy a projekt gyökérnévterén kívül definiáljon egy névteret. További információ: "Globális kulcsszó a névtér-utasításokban" szakasz a Visual Basic névtereiben.
Hibaelhárítás. A gyökérnévtér a névtérnevek váratlan összefűzéséhez vezethet. Ha a projekten kívül definiált névterekre hivatkozik, a Visual Basic fordító beágyazott névtérként értelmezheti őket a gyökérnévtérben. Ilyen esetben a fordító nem ismeri fel a külső névterekben már definiált típusokat. Ennek elkerülése érdekében állítsa a gyökérnévteret null értékre a "Gyökérnévtér" szakaszban leírtak szerint, vagy használja a kulcsszót a Global
külső névterek elemeinek eléréséhez.
Attribútumok és módosítók
Attribútumok nem alkalmazhatók névtérre. Az attribútumok információkat adnak a szerelvény metaadataihoz, ami nem értelmezhető a forrásosztályozók, például a névterek számára.
Névtérre nem alkalmazhat hozzáférés- vagy eljárásmódosítókat vagy más módosítókat. Mivel ez nem típus, ezek a módosítók nem értelmezhetők.
1. példa
Az alábbi példa két névteret deklarál, az egyik beágyazott a másikba.
Namespace n1
Namespace n2
Class a
' Insert class definition.
End Class
End Namespace
End Namespace
2. példa
Az alábbi példa több beágyazott névteret deklarál egyetlen sorban, és egyenértékű az előző példával.
Namespace n1.n2
Class a
' Insert class definition.
End Class
End Namespace
3. példa
Az alábbi példa az előző példákban definiált osztályhoz fér hozzá.
Dim instance As New n1.n2.a
4. példa
Az alábbi példa egy új általános listaosztály csontvázát határozza meg, és hozzáadja a System.Collections.Generic névtérhez.
Namespace System.Collections.Generic
Class specialSortedList(Of T)
Inherits List(Of T)
' Insert code to define the special generic list class.
End Class
End Namespace
Lásd még
Visszajelzés
https://aka.ms/ContentUserFeedback.
Hamarosan elérhető: 2024-ben fokozatosan kivezetjük a GitHub-problémákat a tartalom visszajelzési mechanizmusaként, és lecseréljük egy új visszajelzési rendszerre. További információ:Visszajelzés küldése és megtekintése a következőhöz: