Yukarıdaki başlık .NET'e yabancı olanlar için eminim bir mana ifade
etmiyordur. Öyle okurlarım varsa hepsi beni affetsinler. Derinlikli
mevzular oluyor bazı yazdıklarımız. Ama bu da benim hakkım değil midir?
Arabanın alternatör kasnağı da benim kafamda bir şey ayaklandırmıyor.
Neyse sevgili okur. Hala niyetliysen Resource denen kavramın dertlerine ortak olmaya, devam et okumağa.
.NET
Framework Resource türü dosyalara "strongly-typed" biçimde erişebilmemiz için
sınıf kodunu üreten bir araç sunuyor. Bu konsol aracı ön tanımlı olarak
Visual Studio bünyesine dahil edili durumda. Bir resource dosya
eklediğinizde onu temsil eden sınıf kodu da üretilip .resx'in peşine
takılıyor. Yalnız kadı kızında olabilecek kusurlardan birisi de bu
araçta var. Bu aracın ürettiği sınıf kodu "internal" erişim seviyesine
sahip. Siz el ile "public" yapayım, dış dünyadan da rahatlıkla
kullanayım deseniz de nafile. Tekrar "internal" ile eziyor erişimi.
Hani beklediğimiz nedir, bunu bize seçtirmesi. Ama yok işte.
Bu sıkıntıyı yaşayan her bünye internete olta atar. Code Project'ten bir zat, hayrına bu kod jeneratörünün gelişmişini yazmış.
Ve kullandıktan sonra farkettiğimiz bir güzellik de bu jeneratörün
içinde placeholder karakteri "{0}" geçen string ifadeler için
"degiskenAdiFormat()" metodları üretmesi. Normalde string.Format deyip
içine o değişkeni verirdik ya! Sevineceksiniz, emin olun.
Bu tip
kod geliştirenler Code Project'ten çıkmıyor sadece. Bizim de Gökhan
Altınören'imiz "public" kod üretme derdimize yine aynı usülle çare bulmuş.
Bir ara da resource refactoring'ten bahsetmiştim. Onunla birleşince güzel bir bahis olur bu. Hoşçakal kardeşim deniz.