Namespace Deyimi
Ad alanının adını bildirir ve bildirimi izleyen kaynak kodun bu ad alanı içinde derlenmiş olmasına neden olur.
Sözdizimi
Namespace [Global.] { name | name.name }
[ componenttypes ]
End Namespace
Parça
Genel İsteğe Bağlı. Projenizin kök ad alanı dışında bir ad alanı tanımlamanıza olanak tanır. Bkz. Visual Basic'te Ad Alanları.
name
Gerekli. Ad alanını tanımlayan benzersiz bir ad. Geçerli bir Visual Basic tanımlayıcısı olmalıdır. Daha fazla bilgi için bkz . Bildirilen Öğe Adları.
componenttypes
Isteğe bağlı. Ad alanını oluşturan öğeler. Bunlar numaralandırmaları, yapıları, arabirimleri, sınıfları, modülleri, temsilcileri ve diğer ad alanlarını içerir ancak bunlarla sınırlı değildir.
End Namespace
Bir Namespace
bloğu sonlandırır.
Açıklamalar
Ad alanları bir kuruluş sistemi olarak kullanılır. Diğer programlara ve uygulamalara açık programlama öğelerini sınıflandırmak ve sunmak için bir yol sağlar. Bir ad alanının bir sınıf veya yapının olduğu anlamda bir tür olmadığını unutmayın; bir programlama öğesini ad alanının veri türüne sahip olacak şekilde bildiremezsiniz.
Bir Namespace
deyimden sonra bildirilen tüm programlama öğeleri bu ad alanına aittir. Visual Basic, bir deyim veya başka Namespace
bir End Namespace
deyimle karşılaşana kadar öğeleri son bildirilen ad alanında derlemeye devam eder.
Bir ad alanı projenizin dışında bile tanımlanmışsa, buna programlama öğeleri ekleyebilirsiniz. Bunu yapmak için, Visual Basic'i öğeleri bu ad alanına derlemeye yönlendirmek için bir Namespace
deyimi kullanırsınız.
Deyimi Namespace
yalnızca dosya veya ad alanı düzeyinde kullanabilirsiniz. Bu, ad alanının bildirim bağlamının bir kaynak dosya veya başka bir ad alanı olması gerektiği ve sınıf, yapı, modül, arabirim veya yordam olamayacağı anlamına gelir. Daha fazla bilgi için bkz . Bildirim Bağlamları ve Varsayılan Erişim Düzeyleri.
Bir ad alanını başka bir ad alanı içinde bildirebilirsiniz. Bildirebileceğiniz iç içe yerleştirme düzeylerinin katı bir sınırı yoktur, ancak diğer kod en içteki ad alanında bildirilen öğelere eriştiğinde, iç içe geçen hiyerarşideki tüm ad alanı adlarını içeren bir niteleme dizesi kullanması gerektiğini unutmayın.
Erişim Düzeyi
Ad alanları erişim düzeyine sahipmiş Public
gibi değerlendirilir. Ad alanına aynı projenin herhangi bir yerindeki koddan, projeye başvuran diğer projelerden ve projeden oluşturulan tüm derlemelerden erişilebilir.
Ad alanı düzeyinde bildirilen, ad alanında olan ancak başka bir öğenin içinde olmayan programlama öğelerine sahip Public
olabilir veya Friend
erişebilir. Belirtilmezse, böyle bir öğenin erişim düzeyi varsayılan olarak kullanır Friend
. Ad alanı düzeyinde bildirebileceğiniz öğeler sınıflar, yapılar, modüller, arabirimler, numaralandırmalar ve temsilcilerdir. Daha fazla bilgi için bkz . Bildirim Bağlamları ve Varsayılan Erişim Düzeyleri.
Kök Ad Alanı
Projenizdeki tüm ad alanı adları bir kök ad alanını temel alır. Visual Studio, projenizdeki tüm kodlar için proje adınızı varsayılan kök ad alanı olarak atar. Örneğin, projenizin adı Payroll
ise, programlama öğeleri ad alanına Payroll
aittir. bildirirseniz Namespace funding
, bu ad alanının tam adı olur Payroll.funding
.
Genel liste sınıfı örneğinde olduğu gibi bir deyimde var olan bir Namespace
ad alanını belirtmek istiyorsanız, kök ad alanınızı null değere ayarlayabilirsiniz. Bunu yapmak için, Proje menüsünden Proje Özellikleri'ne tıklayın ve sonra kutunun boş olması için Kök ad alanı girdisini temizleyin. Bunu genel liste sınıfı örneğinde yapmadıysanız, Visual Basic derleyicisi proje Payroll
içinde tam adıyla Payroll.System.Collections.Generic
yeni bir ad alanı olarak alırSystem.Collections.Generic
.
Alternatif olarak, projenizin dışında tanımlanan ad alanlarının öğelerine başvurmak için anahtar sözcüğünü kullanabilirsiniz Global
. Bunu yaptığınızda projenizin adı kök ad alanı olarak korunur. Bu, programlama öğelerinizi mevcut ad alanlarıyla yanlışlıkla birleştirme olasılığını azaltır. Daha fazla bilgi için Visual Basic'teki Ad Alanları'ndaki "Tam Adlarda Genel Anahtar Sözcük" bölümüne bakın.
Anahtar Global
sözcüğü bir Namespace deyiminde de kullanılabilir. Bu, projenizin kök ad alanının dışında bir ad alanı tanımlamanızı sağlar. Daha fazla bilgi için Visual Basic'teki Ad Alanları bölümündeki "Ad Alanı Deyimlerinde Genel Anahtar Sözcük" bölümüne bakın.
Sorun giderme. Kök ad alanı, ad alanı adlarının beklenmeyen birleştirmelerine yol açabilir. Projenizin dışında tanımlanan ad alanlarına başvuruda bulunursanız, Visual Basic derleyicisi bunları kök ad alanında iç içe yerleştirilmiş ad alanları olarak yorumlayabilir. Böyle bir durumda, derleyici dış ad alanında önceden tanımlanmış olan türleri tanımaz. Bunu önlemek için, kök ad alanınızı "Kök Ad Alanı" bölümünde açıklandığı gibi null bir değere ayarlayın veya dış ad alanlarının Global
öğelerine erişmek için anahtar sözcüğünü kullanın.
Öznitelikler ve Değiştiriciler
Bir ad alanına öznitelik uygulayamazsınız. Öznitelik, derlemenin meta verilerine bilgi katkıda bulunur ve bu ad alanları gibi kaynak sınıflandırıcılar için anlamlı değildir.
Ad alanına herhangi bir erişim veya yordam değiştirici veya başka değiştirici uygulayamazsınız. Bu bir tür olmadığından, bu değiştiriciler anlamlı değildir.
Örnek 1
Aşağıdaki örnekte biri diğerinde iç içe yerleştirilmiş iki ad alanı bildirilir.
Namespace n1
Namespace n2
Class a
' Insert class definition.
End Class
End Namespace
End Namespace
Örnek 2
Aşağıdaki örnek, tek bir satırda birden çok iç içe ad alanı bildirir ve önceki örne eşdeğerdir.
Namespace n1.n2
Class a
' Insert class definition.
End Class
End Namespace
Örnek 3
Aşağıdaki örnek, önceki örneklerde tanımlanan sınıfa erişir.
Dim instance As New n1.n2.a
Örnek 4
Aşağıdaki örnek, yeni bir genel liste sınıfının iskeletini tanımlar ve ad System.Collections.Generic alanına ekler.
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