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ı Payrollise, programlama öğeleri ad alanına Payrollaittir. 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 Payrolliçinde tam adıyla Payroll.System.Collections.Genericyeni 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

Ayrıca bkz.