{Merhaba Dünya Ben Emre Kıyak}

 





Sınıf ve isim alanlarına takma isim verilmesi

Share |


Şurada anlattığım Twitter API kullanımı konusunda verdiğim örnekte using Twitterizer; isim alanını programımın içine dahil etmiştim. Hatırlarsanız birden fazla Twitter API'lerini kullanma durumum vardı. Twitterizer API'si içinde Twitter adlı bir class vardı. Aynı şekilde başka bir API'de de Twitter adlı bir class vardı. Her ikisini de kullanmak istediğimde bir karışıklık meydana gelme ihtimali var ki zaten program derlenmez ve hata alırız. Sorun çok açık : Birden fazla programcı aynı proje için classlarına aynı isimleri vermişlerdi. Bu durumda using anahtar sözcüğü ile eriştiğim namespacelerdeki classlara takma isimler vererek bu karışıklığı ortadan kaldırabiliriz.

using Twitterizer.Framework;
using twitle_emre = Twitterizer.Framework.Twitter;
 
 
class Program
{
    static void Main(string[] args)
    {
       
        //Normal kullanım
        Twitter t = new Twitter();
 
        //Aynı classı takma isim ile oluşturma
        twitle_emre x = new Twitter();
    }
}

Bu şekilde birden fazla API kullanımı durumunda karşılaşacağınız isim çakışmalarını önleyebilirsiniz. Aynı şekilde proje içinde aynı ismi kullanan classların adlarını takma isimlerle çağırabilirsiniz.

Bu kullanımı .NET Framework içindeki diğer classlarda da yapabilirsiniz. Böylece küçük kişiselleştirmelerle çalışmanıza renk katabilirsiniz.

Örneğin

using en_sevdigim_obje = System.Data.DataTable;

o kadar da değil :))

İyi çalışmalar


25 Aralık 2009 Cuma öğleden sonra 15:33

Mesajınızı yazabilirsiniz


Rumuz :  
 
Email :   
  
Mesaj :  
Bu konuya abone olmak ister misiniz ?

Güvenlik kodunu göremiyorsanız sayfayı yenileyin.
Güvenlik Kodu :





Mesajlar


Adsız
5 Ocak 2010 Salı akşam 22:7
Konunun başlığını yanlış adlandırmışsın. Burada ad uzayına (namespace) takma ad takıyorsun. İngilizcesi "namespace alias". Örnekten de anlaşıldığı gibi sınıfın adında bir değişiklik yok, hala Twitter. Yani "ad uzayına takma ad verilmesi" olmalıydı.


Emre KIYAK
6 Ocak 2010 Çarşamba 0:6
Mesajın için teşekkürler. Konuyu tekrar inceledim. Aynı kategorideki "kütüphanelere takma isim verilmesi" konusunu "DLL kütüphanelerine" şeklinde değiştirmeyi ve bu konunun başlığını da "sınıf ve isim alanlarına" şeklinde değiştirmeyi uygun gördüm. Dediğiniz doğru ama içerikte bir yanlışlık yok. Zaten class ismi değişmez. Biz classı takma bir adla çağırıyoruz. Son satırdaki örneğe bakarsanız datatable classını da bir takma isimle çağırabiliyoruz. datatable bir isim alanı değil ama. Yani bu konudaki yöntemle hem bir classa hem de bir namespace takma isim verebiliriz.