30 Mart 2016 Çarşamba

C# T4 Code Generator Kullanımı

Üniversite zamanında bir arkadaşım (Yakup Buğra Bozkurt) bana bu konuyu göstermişti. Uzun zamandır hiç kullanmadım. Geçen günlerde gittiğim bir toplantıda bu yapıyı görünce aklıma geldi. Bende sizlerle paylaşayım dedim.

İlk olarak T4'ün ne olduğundan kısaca bahsedeyim sonra da örneğe geçeriz. T4 (text template) kısaca text'e yazdığımız kodun gerçeklenmesi olarak tanımlayabiliriz. Örnek vermek gerekirse; 20 tane sınıfın Ekle, Sil ve Güncelleme işlemleri ortak ise bunları teker teker yazmak yerine text olarak yazıp for döngüsü ile döndüğümüzde kodun oluşturulmasını hayal edin. Uygulama üzerinde bakalım bir de.

Bir tane console uygulaması açarak işe başlayalım.

Uygulamamıza bir adet text template ekleyerek işe başlamamız gerekiyor.

text template ekleme işlemi































Karşımıza şu şekilde tt uzantılı bir ekran geliyor.

text template metni
















Burada eklemek istediğimiz kütüphaneler, oluşacak dosyanın tipi, varsa kalıtım yapacağımız sınıfların bilgisi gibi bilgileri bildiriyoruz.

Şimdi oluşturmak istediğimiz kodumuzu text olarak yazalım. Üç adet sınıfımız olsun. Bu sınıfların dört tane propertysi ve iki tane de metodu olsun.

Haydi koda başlayalım. Text kodumuz şu şekilde olacak.

tempate text metni


Kodumuzu yazdıktan sonra kaydetmemiz gerekiyor (Ctrl+S). Text template dosyasını ilk açtığınızda içinde kod bulunmadığı için tt uzantılı olarak bulunuyordu. Ancak artık içinde kodlar var ve kaydetme işleminden sonra kodlarımız derlenerek cs uzantılı bir dosya olarak text template dosyasının altında yerini alıyor. Bakalım kodlarımız istediğimiz gibi oluşmuş mu?


codebehind text template

























































Kodlar çok güzel bir şekilde oluşmuş. Kodlarımız birde uygulama aşamasında kullanalım.

text template main





































Evet sıra sonucu görmeye geldi.

text template sonuc
Sonucumuz da oldukça güzel bir şekilde oluştu. Şimdilik benden bu kadar. Bir dahaki yazıya kadar kendinize iyi bakın. 

Hiç yorum yok:

Yorum Gönder