Udostępnij za pośrednictwem


Deklaracji obszaru nazw

Deklaruje nazwę obszaru nazw i powoduje, że kod źródłowy, który następuje deklaracja zestawiane w obrębie tego obszaru nazw.

Namespace [Global.] { name | name.name }
    [ componenttypes ]
End Namespace

Części

  • Globalne
    Opcjonalne.Umożliwia zdefiniowanie obszaru nazw z obszaru nazw root projektu.See Przestrzenie nazw w języku Visual Basic.

  • name
    Wymagane.Unikatowa nazwa identyfikująca obszar nazw.Musi być prawidłowym identyfikatorem języka Visual Basic.Aby uzyskać więcej informacji, zobacz Nazwy elementów deklarowanej (Visual Basic).

  • componenttypes
    Opcjonalne.Elementy wchodzące w skład obszaru nazw.Te obejmują, ale nie są ograniczone do wyliczeń, struktury, interfejsy, klas, moduły, delegatów i innych obszarach nazw.

  • End Namespace
    Kończy działanie Namespace bloku.

Uwagi

Obszary nazw są używane jako system organizacyjnych.Zapewniają one sposób do klasyfikowania i stanowią elementy programowe, które są narażone na innych programów i aplikacji.Należy zauważyć, że obszar nazw nie jest typu w tym sensie, że klasy lub struktury — nie można zadeklarować elementu programowania ma typ danych obszaru nazw.

Wszystkie elementy programistyczne zgłoszone po Namespace instrukcji należą do tego obszaru nazw.Visual Basic nadal skompilować elementów w ostatniej deklarowanych przestrzeni nazw, aż do napotkania albo End Namespace instrukcji lub w innym Namespace instrukcji.

Jeśli obszar nazw jest już zdefiniowany, nawet poza projektu, można dodać elementy programistyczne do niego.Aby to zrobić, użyj Namespace instrukcji do kierowania Visual Basic skompilował elementy do tego obszaru nazw.

Można użyć Namespace instrukcji tylko na poziomie pliku lub obszaru nazw.Oznacza to, kontekście deklaracji dla obszaru nazw, musi być plikiem źródłowym lub innego obszaru nazw i nie może być klasy, struktury, moduł, interfejsu lub procedury.Aby uzyskać więcej informacji, zobacz Konteksty deklaracji i poziomy dostępu domyślne (Visual Basic).

Można zadeklarować jednego obszaru nazw w innym.Jest nieograniczona ścisłych poziomów zagnieżdżenia może oświadczyć, ale należy pamiętać, że gdy inny kod, uzyskuje dostęp do elementów, zadeklarowanych w najbardziej wewnętrznego obszaru nazw, to należy użyć ciąg kwalifikacji, który zawiera wszystkie nazwy obszaru nazw w hierarchii zagnieżdżenia.

Poziom dostępu

Obszary nazw są traktowane tak, jakby miały Public poziom dostępu.Obszar nazw jest możliwy z kodu w dowolnym miejscu tego samego projektu, inne projekty, które odwołują się do projektu i każdy zespół zbudowany z projektu.

Programowanie elementy zadeklarowane na poziomie obszaru nazw, co oznacza, w obszarze nazw, ale nie wewnątrz innego elementu, może mieć Public lub Friend dostępu.Jeżeli nie określono tego parametru, poziom dostępu takich element używa Friend domyślnie.Elementy, które można zadeklarować na poziomie obszaru nazw zawiera klasy, struktury, modułów, interfejsy, wyliczeń i delegatów.Aby uzyskać więcej informacji, zobacz Konteksty deklaracji i poziomy dostępu domyślne (Visual Basic).

Obszar nazw katalogu głównego

Wszystkie nazwy obszaru nazw w projekcie są oparte na głównego obszaru nazw.Visual Studio przypisuje nazwę projektu jako domyślny obszar nazw katalogu głównego cały kod w projekcie.Na przykład, jeśli projekt o nazwie Payroll, jego elementów programowych należą do obszaru nazw Payroll.Przy deklarowaniu Namespace funding, pełną nazwę tego obszaru nazw jest Payroll.funding.

Jeśli chcesz określić istniejącego obszaru nazw w Namespace instrukcji, takie jak w przykładzie klasy rodzajowe listy, można ustawić obszaru nazw root ma wartość null.Aby to zrobić, kliknij Właściwości projektu z Projekt menu, a następnie wyczyść pole wyboru głównego obszaru nazw wpis tak, że pole jest puste.Jeśli nie została to w przykładzie klasy listy ogólnej, zajmie to kompilator języka Visual Basic System.Collections.Generic jako nowy obszar nazw w ramach projektu Payroll, z pełną nazwę Payroll.System.Collections.Generic.

Alternatywnie, można użyć Global słowa kluczowego, aby odwołać się do elementów obszary nazw zdefiniowane poza projektem.Umożliwia to zachowuje swoją nazwę projektu, jako głównego obszaru nazw.Zmniejsza to ryzyko nieumyślnego łączących się elementów programowania wraz z istniejących obszarów nazw.Aby uzyskać więcej informacji, zobacz sekcję "Globalne słowa kluczowego w pełni kwalifikowanej nazwy" w Przestrzenie nazw w języku Visual Basic.

Global Można również użyć słowa kluczowego w deklaracji obszaru nazw.Dzięki temu można zdefiniować nazw głównego obszaru nazw w projekcie.Aby uzyskać więcej informacji, zobacz sekcję "Globalne słowa kluczowego w przestrzeni nazw sprawozdań" w Przestrzenie nazw w języku Visual Basic.

Rozwiązywanie problemów. Obszar nazw katalogu głównego może prowadzić do nieoczekiwanych relacyjne nazwy obszaru nazw.Jeśli dokonuje się odniesienia do nazw zdefiniowane poza projektem, kompilator języka Visual Basic można je tworzą jako zagnieżdżony obszarów nazw w głównym obszarze nazw.W takim przypadku kompilator nie rozpoznaje żadnych typów, które zostały już zdefiniowane w zewnętrznych obszarów nazw.Aby tego uniknąć, albo ustawić obszaru nazw root ma wartość null, zgodnie z opisem w "Głównego obszaru nazw", albo użyj Global słowo kluczowe, aby program access elementów zewnętrznych nazw.

Atrybuty i modyfikatorów

Nie można zastosować atrybutów do obszaru nazw.Atrybut przyczynia się informacje z zestawu metadanych, który nie ma znaczenie dla źródła klasyfikatorów, takich jak przestrzenie nazw.

Dostęp do wszystkich lub modyfikatorów procedury lub innych modyfikatorów, nie można zastosować do obszaru nazw.Ponieważ nie jest typem, Modyfikatory te nie są znaczące.

Przykład

Poniższy przykład oświadcza dwóch obszarów nazw, jeden zagnieżdżony w innym.

Namespace n1
    Namespace n2
        Class a
            ' Insert class definition.
        End Class
    End Namespace
End Namespace

Poniższy przykład deklaruje wiele zagnieżdżonych obszarów nazw w jednym wierszu i jest równoważne z poprzedniego przykładu.

Namespace n1.n2
    Class a
        ' Insert class definition.
    End Class
End Namespace

Poniższy przykład uzyskuje dostęp do tej klasy zdefiniowane w poprzednich przykładach.

Dim instance As New n1.n2.a

W poniższym przykładzie definiuje szkielet nową klasę listy ogólnej i dodaje go do System.Collections.Generic obszaru nazw.

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

Zobacz też

Informacje

Przywóz instrukcji (.Obszar nazw netto i typ)

Koncepcje

Nazwy elementów deklarowanej (Visual Basic)

Przestrzenie nazw w języku Visual Basic