Memik Yanık - Kişisel Web Sitesi Ana Sayfa | Hakkımda | Kitap Önerileri | Fotoğraflarım | RSS RSS | İletişim

Namespace Kütüphane Midir?


Malumunuz olduğu üzere .NET sınıfları Namespace olarak paketlenmektedir. Namespace’ler ise DLL dosyaları olarak gelmektedir. Yararlanmak istenen hangi DLL dosyasında veya referansta yer alıyorsa bu referansın Visual Studio’nun Solution Explorer penceresinde listelenmesi, konsolda derleme yapılıyorsa söz konusu DLL dosyasından yararlanılmak istendiği “/reference” parametresi ile işaret edilmesi gerekir. Tabi bunu 2 istisnası vardır; System.dll ve System.Core.dll dosyaları Visual Studion’nun Solution Explorer penceresinde listelenmese bile bu referanstaki Namespace’lerden dolayısıyla sınıf ve yapılardan yararlanılabilir. Bu nedenle aşağıda konsolda yapılan her 3 derleme işlev bakımından birbirinden farklı değildir.







Bu kodda yararlandığım FileStream ve StreamReader sınıflarıyla FileAccess ve FileMode numaralayıcıları(enum) IO adlı namespace’te, IO adlı Namespace ise System adlı namespace’in içinde yer aldığı için Class ve enum adlarından önce Namespace adını yazdım. 

Kod dosyasının başına using System.IO; yazılırsa IO’daki sınıf, yapı ve enum’ları kullanmak için her seferinde sınıf adından önce namespace adını yazma zorunluluğu kalkar. Yani Stream sınıflarından yararlanmak için using System.IO; yazmak şart değildir ve System.IO bir kütüphane değil bir namespace’tir. Tabi System.IO demekle en son yazılan namespace’in işaret edildiğini ayrıca belirtmeye gerek yoktur.
Ayrıca kod dosyasının başına using System.IO; yazılsa bile uygulamaya dahil edilen bir şey yoktur ve System.dll dosyası yerinde yani GAC’de durmaktadır. Bu konuda ayrıntılı bilgi edinmek isteyenler C# 3.0 kitabının Namespace Hazırlamak ve Kullanmak adlı bölümüne bakabilirler.


http://www.memikyanik.net/4-bolum-namespace-hazirlamak-ve-kullanmak-makalesi/122.aspx

C#.NET 12.11.2009 20:23:28

YORUM YOK


YorumlarYorum Yaz
Ana Sayfa | Hakkımda | Kitap Önerileri | Fotoğraflarım | RSS | İletişim
Memik Yanık 2004-2009 © Tüm Hakları Saklıdır.
Hazırlayan www.semgoksu.com