Namespace Yapısı ve Kullanımı
Bir önceki yazımızda using ve namespace kavramlarının öneminden projeye nasıl eklendiğinden bahsetmiştik. Eğer bu yazımızı okumadıysanız ilk önce onu sonrasında bu içeriğimizi okumanızı tavsiye ederim. Using ve Namespace Kavramı bu linkten ulaşabilirsiniz. Şimdi bu yazımızda namespace oluşturup projeye eklerken ve kullanılırken ki yapılan işlemleri biraz daha detaylandırıp açıklayıcı olması açısından görsel içeriklerle açıklamaya çalışacağız.
Namespace Oluşturmak
Namespace .NET framework class’ın en üst katmanıdır. Yani bir namespace içinde classlar, fonksiyonlar ve kod tanımlamaları bulunur. C# geliştirme ortamında tanımlanmış bir namespace’in yapısı aşağıdaki gibidir.

Namespace Kullanmak
Namespace’e ait bir özelliği kullanmak istediğimizde iki farklı yöntemle bunu yapabiliriz.
Bu yöntemlerden ilki kullanmak istediğimiz sınıfın bulunduğu namespace’in ismini yazıp “.” nokta ile içindeki tanımlamalara ulaşabiliriz. Yani;
namespace_ismi.SinifIsmi;
Bir diğer yöntem ise kullandığımız kod sayfasında en üst alanda “using” anahtar kelimesi ile beraber sayfamıza tanımlarız.
using namespace_ismi;
Bu yöntemleri bir örnek üzerinden gösterelim.

Yukarıdaki görselde ADO.NET teknolojisi kullanılarak bir veritabanı bağlantısı oluşturulmuştur. Resimde gördüğünüz üzere SqlConnection class’ının hata verdiğini görmektesiniz. Bunun nedeni bu class’ın içinde bulunduğu namespace kütüphanesinin projeye tanımlanmamış olmasındandır.
Şimdi kullanmak istediğimiz veritabanı bağlantısı için gerekli olan sınıfların bulunduğu kütüphaneyi projemize ekleyelim.
1.yöntem;

Bu yöntemde gördüğünüz gibi kod sayfamızın en üst kısmına “using” sözcüğü ile System.Data.SqlClient kütüphanesini ekledik ve SqlConnection class’ını projemize tanıttık.
2.yöntem;

Bu yöntemde kırmızı alan içine aldığım şekilde SQL bağlantımızı yapabiliriz fakat gördüğünüz şekilde kod satırı uzadı ve program adında ki bir class üzerinde tanımlayabildik. Bu class’ın altında Program2 adlı ikinci bir class oluşturduk. Bunun içinde ise aynı SqlConnection sınıfını eklemeye çalıştık fakat gördüğünüz üzere hata verdi. Bunun nedeni SqlConnection sınıfının kütüphanesi sadece Program adlı class’ın içinde tanımlanmış olmasındandır. Biz bu kütüphaneyi eğer üst kısımda using ifadesi ile tanımlamış olsaydık aynı kod sayfası içinde her yerden erişilebilir durumda olurdu.
Not : Aşağıdaki görselde SqlConnection class’ının da içerisinde bulunduğu System.Data.SqlClient namespace kütüphanesinin içeriğini görmektesiniz.

Bu kütüphaneyi kod sayfamıza tanımladığımızda SqlConnection classı içerisinde bulunan ve inherit edilmiş DbConnection classı ile implemente edilmiş ICloneable interface’inin içerisindeki tüm tanımlara ulaşabiliriz.



Bir yorum
İbrahim Ethem
Teşekkür ederim. Faydalı bir bilgi olmuş