Reflection Nedir?
|
|
Reflection class'ı sayesinde, çalışma zamanında assembly, class, interface ve object'ler hakkında bilgi edinilebilir hatta member'larına erişip invoke edebilirsiniz. Bu sayede kodların dinamik olarak çalıştırılması mümkün olmaktadır. Reflection namespace'i aşağıdaki gibidir.
System.Reflection
.NET dillerinden biri ile geliştirilen tüm türler assemly'ler içerisinde paketlenir. .NET Reflection ise size assembly'leri inceleme ve dinamik olarak method çağırılı, object üretimi gibi olanaklarda sağlamaktadır. Bunun yanında, kodunuzun içerisinden dinamik olarak memory'de assembly'ler yaratmanıza da olanak vermektedir ki ben bu makalemde bu konuya girmeyeceğim.
.NET Reflection'ın gücünü küçük bir örnekle görmeye çalışalım.
Örnek Kod
// Form sınıfının tam ismi verilerek(namespaceleri de // dahil olmak üzere) bir type nesnesi üretiliyor Type myType=Type.GetType("System.Windows.Forms.Form"); // Bu sınıfın hiç parametre almayan ve public // olan constructorı için bir ConstructorInfo // nesnesi üretiliyor ConstructorInfo cInfo=myType.GetConstructor(null); // Invoke methodu aracılığıyla constructor // çalıştırılıp, bir form nesnesi üretiliyor object frm=cInfo.Invoke(null); // Tekrar bu tür üzerindeki Show isimli // method'tan bir MethodInfo nesnesi üretiliyor MethodInfo mInfo=myType.GetMethod("Show",null);
|
Cuma, Mayıs 13, 2005 @ 17:33 |
0 yorum var |
|
.NET Uygulamalarını framework olmadan çalıştırmak
|
|
Dün bir araştırma yaparken çok ilginç 2 ürünle karşılaştım. Bu araçlar sayesinde .NET platformunda geliştirdiğiniz uygulamaları framework gerekmeksizin çalışır bir şekilde paketleme imkanınız oluyor. Bunlar; Bu tarz uygulamalar özellikle kurulum yapma yetkisi olmayan kullanıcılarında uygulamalarınızı kurulum yapmadan kullanabilmesine olanak sağlıyor. Benim ihtiyacım ise bir Autorun uygulaması geliştirirken doğmuştu :) |
Cuma, Mayıs 06, 2005 @ 10:42 |
0 yorum var |
|
Merhaba Herkese...
|
|
Merhaba Arkadaşlar Blog'uma hoşgeldiniz :)
İl mesajım böyle olsun.. Umarım faydalı ve eğlenceli bir blog olur :)
Sonraki post'larda görüşmek üzere... "Hoşça" kalın... |
|
|
|