Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Mendeklarasikan nama namespace layanan dan menyebabkan kode sumber yang mengikuti deklarasi dikompilasi dalam namespace tersebut.
Sintaksis
Namespace [Global.] { name | name.name }
[ componenttypes ]
End Namespace
Bagian
Opsional Global. Memungkinkan Anda menentukan namespace di luar namespace layanan akar proyek Anda. Lihat Namespace di Visual Basic.
name Diperlukan. Nama unik yang mengidentifikasi namespace. Harus merupakan pengidentifikasi Visual Basic yang valid. Untuk informasi selengkapnya, lihat Nama Elemen yang Dinyatakan.
componenttypes Opsional. Elemen yang membentuk namespace layanan. Ini termasuk, tetapi tidak terbatas pada, enumerasi, struktur, antarmuka, kelas, modul, delegasi, dan namespace lainnya.
End Namespace Mengakhiri blok Namespace .
Komentar
Namespace digunakan sebagai sistem organisasi. Mereka menyediakan cara untuk mengklasifikasikan dan menyajikan elemen pemrograman yang terekspos ke program dan aplikasi lain. Perhatikan bahwa namespace bukan tipe dalam arti kelas atau struktur—Anda tidak dapat mendeklarasikan elemen pemrograman untuk memiliki tipe data namespace layanan.
Semua elemen pemrograman dideklarasikan setelah Namespace pernyataan milik namespace layanan tersebut. Visual Basic terus mengkompilasi elemen ke dalam namespace layanan terakhir yang dinyatakan sampai menemukan End Namespace pernyataan atau pernyataan lain Namespace .
Jika namespace sudah ditentukan, bahkan di luar proyek, Anda dapat menambahkan elemen pemrograman ke dalamnya. Untuk melakukan ini, Anda menggunakan Namespace pernyataan untuk mengarahkan Visual Basic untuk mengkompilasi elemen ke dalam namespace tersebut.
Anda hanya dapat menggunakan Namespace pernyataan di tingkat file atau namespace. Ini berarti konteks deklarasi untuk namespace harus berupa file sumber atau namespace layanan lain, dan tidak boleh menjadi kelas, struktur, modul, antarmuka, atau prosedur. Untuk informasi selengkapnya, lihat Konteks Deklarasi dan Tingkat Akses Bawaan.
Anda dapat mendeklarasikan satu namespace dalam namespace layanan lainnya. Tidak ada batas ketat untuk tingkat berlapis yang dapat Anda deklarasikan, tetapi ingat bahwa ketika kode lain mengakses elemen yang dideklarasikan di namespace layanan terdalam, ia harus menggunakan string kualifikasi yang berisi semua nama namespace dalam hierarki berlapis.
Tingkat Akses
Namespace diperlakukan seolah-olah mereka memiliki Public tingkat akses. Namespace dapat diakses dari kode di mana saja dalam proyek yang sama, dari proyek lain yang mereferensikan proyek, dan dari rakitan apa pun yang dibangun dari proyek.
Elemen pemrograman dideklarasikan pada tingkat namespace, yang berarti dalam namespace tetapi tidak di dalam elemen lain, dapat memiliki Public atau Friend mengakses. Jika tidak ditentukan, tingkat akses elemen tersebut menggunakan Friend secara default. Elemen yang dapat Anda deklarasikan di tingkat namespace meliputi kelas, struktur, modul, antarmuka, enumerasi, dan delegasi. Untuk informasi selengkapnya, lihat Konteks Deklarasi dan Tingkat Akses Bawaan.
Namespace Layanan Akar
Semua nama namespace dalam proyek Anda didasarkan pada namespace layanan akar. Visual Studio menetapkan nama proyek Anda sebagai ruang nama akar default untuk semua kode dalam proyek Anda. Misalnya, jika proyek Anda diberi nama Payroll, elemen pemrogramannya milik namespace Payroll. Jika Anda mendeklarasikan Namespace funding, nama lengkap namespace layanan tersebut adalah Payroll.funding.
Jika Anda ingin menentukan namespace yang ada dalam Namespace pernyataan, seperti dalam contoh kelas daftar generik, Anda dapat mengatur namespace layanan akar Anda ke nilai null. Untuk melakukan ini, klik Properti Proyek dari menu Proyek lalu kosongkan entri namespace root sehingga kotak kosong. Jika Anda tidak melakukan ini dalam contoh kelas daftar generik, pengkompilasi Visual Basic akan mengambil System.Collections.Generic sebagai namespace baru dalam proyek Payroll, dengan nama Payroll.System.Collections.Genericlengkap .
Atau, Anda dapat menggunakan Global kata kunci untuk merujuk ke elemen namespace yang ditentukan di luar proyek Anda. Melakukannya memungkinkan Anda mempertahankan nama proyek Anda sebagai namespace layanan akar. Ini mengurangi kemungkinan menggabungkan elemen pemrograman Anda secara tidak sengaja bersama dengan namespace yang ada. Untuk informasi selengkapnya, lihat bagian "Kata Kunci Global di Nama yang Sepenuhnya Memenuhi Syarat" di Namespace di Visual Basic.
Kata Global kunci juga dapat digunakan dalam pernyataan Namespace. Ini memungkinkan Anda menentukan namespace di luar namespace akar proyek Anda. Untuk informasi selengkapnya, lihat bagian "Kata Kunci Global di Pernyataan Namespace" di Namespace di Visual Basic.
Troubleshooting. Namespace layanan akar dapat menyebabkan perangkaian nama namespace tidak terduga. Jika Anda membuat referensi ke namespace yang ditentukan di luar proyek Anda, pengkompilasi Visual Basic dapat membangunnya sebagai namespace berlapis di namespace layanan akar. Dalam kasus seperti itu, pengkompilasi tidak mengenali jenis apa pun yang telah ditentukan di namespace eksternal. Untuk menghindari hal ini, atur namespace layanan akar Anda ke nilai null seperti yang dijelaskan di "Namespace Layanan Akar", atau gunakan Global kata kunci untuk mengakses elemen namespace eksternal.
Atribut dan Pengubah
Anda tidak dapat menerapkan atribut ke namespace. Atribut berkontribusi informasi ke metadata assembly, yang tidak bermakna untuk pengklasifikasi sumber seperti namespace.
Anda tidak dapat menerapkan pengubah akses atau prosedur apa pun, atau pengubah lainnya, ke namespace layanan. Karena bukan jenis, pengubah ini tidak bermakna.
Contoh 1
Contoh berikut mendeklarasikan dua namespace, satu ditumpuk di yang lain.
Namespace n1
Namespace n2
Class a
' Insert class definition.
End Class
End Namespace
End Namespace
Contoh 2
Contoh berikut mendeklarasikan beberapa namespace berlapis pada satu baris, dan setara dengan contoh sebelumnya.
Namespace n1.n2
Class a
' Insert class definition.
End Class
End Namespace
Contoh 3
Contoh berikut mengakses kelas yang ditentukan dalam contoh sebelumnya.
Dim instance As New n1.n2.a
Contoh 4
Contoh berikut mendefinisikan kerangka kelas daftar generik baru dan menambahkannya ke System.Collections.Generic namespace.
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
Lihat juga
- Pernyataan Impor (.NET Namespace dan Tipe)
- Nama Elemen yang Dideklarasikan
- Namespace dalam Visual Basic