Reflection C#

Loading

C# ta System.Reflection kütüphanesinde bulunan Reflection kısaca bir objenin içerisini okuyarak bize istediğimiz bilgileri döner. Yani Runtime esnasında Assembly(Derlenen kod kısmı) içindeki tüm türler hakkında bilgi edinmemizi sağlar. Bunlar Objenin tipi , Propertyleri, Objenin içerisinde tanımlanmış methodlar ve bunların parametreleri ve tipleridir ama bir objenin içini okumak için onun tippini öğreniriz. Bunuda typeof(obj) veya obj.GetType() merhodları ile yaparız.

Reflection ,

=> generic yapılarda ,

=> bir objeyi başka objeye map etme işleminde ,

=> generic tipli obje yapılarında,

=> farklı veri formatlarının birbiriyle eşleştirme işlemlerinde ,

=> jsondan gelen bir datanın xml deki bir data ile eşleştirilmesinde ,

=> db’den gelen bir datanın bir obje ile eşleştirilmesinde ,

=> işlemlerinde , bir tipin tüm methodlarının listelenmesinde ve parametrelerinin okunmasında ,

=> Activator.CreateInstance komutu, generic tiplerde,

=> ilgili objenin bir kopyasını oluşturarak ram’e yükleme işlemleri ,

=> bir tipin propertylerine otomatik olarak veri setlenmesinide ,

=> bir exe veya dll dosyasının method ve parametre analizi gibi senaryolarda kullanılır.

Yani üzerinde ciddi çalışılmış bir kütüphanedir.

Şimdi bir obje üzerinde uygulamalarına bakalım;

Türleri ve tipleri almak istediğimizde GetTypes() ve GetProperties() methodlarına bakalm

Şimdide GetMethod() ve Invoke() methodlarına bakalım;

Reflection sayesinde class içindeki methodlarımızı açlıştırıp içeriklerine bakabilitriz. Yukarda Invoke() ilede methodu çalıştırıyoruz.

Reflection ile çalışma zamanında nesne oluşturmak için CreateInstance() methodunu kullanıyoruz.

Sağlıcakla kalın….

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Mesut Yiğit

Kaliteli bilgilerin bulunduğu, paylaşımcı ve her daim geliştirici bir öğrenimin benimsendiği Teknik ve diğer konularda kendime ve geleceğe notlar