Herkese merhaba önceki yazıda C#’da nasıl statik dll yükleneceğinden bahsetmiştik o yazıya buradan ulaşabilirsiniz. Şimdi ise yazdığımız dll’i programımıza nasıl dinamik olarak yükleyeceğimizi anlatmaya çalışacağım dinamik yüklemenin faydalarını statik yüklemeden farklarını vs. diğer yazıda belirtmiştim.
Şimdi hemen dinamik dll kodlarından bahsedelim;
var dll = Assembly.LoadFile(@"C:\Users\Acer\Documents\Visual Studio 2015\Projects\dll2\dll2\bin\Debug\dll2.dll"); var tip= dll.GetType("dll2.Class1"); var istek = Activator.CreateInstance(tip); var metod = tip.GetMethod("topla"); sonuc=(int) metod.Invoke(istek,new object[] {2,3}); MessageBox.Show(""+sonuc);
İlk öncelikle burada “var” bir değişken tipi bu değişken tipi C#’da sık kullanılan değişken tiplerinden birisidir özelliği ise değişken türünü bilmediğimiz sınıflar için kullanılır burada kolaylık olması açısından hepsini var değişken tipi ile tanımladık.
- İlk satıra bakdığımızda dll’imizin yolunu veriyoruz.
- İkinci satıra baktığımızda ise dll’imizin NameSpace.Class ını yani oluşturulan dll’in name space’ini ve sınıf ismini veriyoruz bu kısımda.
- Üçüncü satırda ise bu verdiğimiz bilgiler karşılığında artık dll’imizin içinde ki fonksiyonlara ulaşmak için kullanacağımız sınıfı hazırlıyor.
- Dördüncü satırda ise dll’in içinden kullanacağımız fonksiyonu çağırıyoruz.
- Beşinci satırda eğer dll’imizi içindeki fonksiyon geriye değer dönderen bir fonksiyo ise kullanımı bu şeklide fonksiyonu çağırıyoruz ve geriye dönderdiği değeri type casting yaparak geriye dönderdiği türdeki değişkene atarak geriye dönen değeri elde ediyoruz.
- Son satırda ise geriye dönen değerin çıktısını gösteriyoruz.
Dinamik dll yüklemekte bu kadar kolay, herkese iyi çalışmalar.