Dinamik Bağlantı kitaplığı (DLL), aynı anda birden fazla program tarafından kullanılabilen işlevler ve kodlar içeren bir kitaplıktır. Bir DLL dosyası oluşturduktan sonra onu birçok uygulamada kullanabiliriz. Tek yapmamız gereken referansı eklemek ve DLL dosyasını içe aktarmak.
Hem DLL dosyaları hem de .exe dosyaları yürütülebilir program modülleridir, ancak fark, DLL dosyalarını doğrudan çalıştıramamamızdır.
DLL Dosyası Oluşturma
Adım 1: Visual Studio programını açarak Hesaplama isminde yeni bir Class Library projesi oluşturalım.

Adım 2: Class ismini dortIslem olarak değiştirin.

Adım 3: dortIslem sınıfında toplama, çıkarma, çarpma ve bölme işlemlerini gerçekleştiren metotlar oluşturun.

Adım 4: Projeyi çalıştırın. Derleme başarılı olursa, projenizin ‘bin/debug’ dizininde bir ‘hesaplama.dll’ dosyası göreceksiniz. Bu dosyayı bir klasöre kopyalayabilirsiniz.
DLL Dosyasını Kullanma
Şimdi bu oluşturduğumuz dll dosyamızı kullanalım.
Adım 1: Bunun için yeni bir Windows Form uygulaması oluşturalım.

Adım 2: Daha önce oluşturduğumuz dll dosyası ‘Hesaplama.dll‘ için bir referans ekleyin. Projeye sağ tıklayın ve ardından ‘Referans ekle’ye tıklayın.

Adım 3: Browse butonuna tıklayın ve DLL dosyasını seçip projeye ekleyin.

Adım 4: Dosyayı ekledikten sonra, Hesaplama ad alanının (referanslarda) aşağıdaki gibi eklendiğini göreceksiniz.

Adım 5: Projenize Hesaplama namespace ini ekleyin.

Adım 6: Formumuza ait kodları oluşturalım.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 | using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; using Hesaplama; namespace dll_kullanma { public partial class Form1 : Form { public Form1() { InitializeComponent(); } dortIslem islem=new dortIslem(); private void btnTopla_Click(object sender, EventArgs e) { int sayi1=Convert.ToInt32(txtSayi1.Text); int sayi2=Convert.ToInt32(txtSayi2.Text); lblSonuc.Text=islem.Topla(sayi1,sayi2 ).ToString(); } private void btnCikar_Click(object sender, EventArgs e) { int sayi1 = Convert.ToInt32(txtSayi1.Text); int sayi2 = Convert.ToInt32(txtSayi2.Text); lblSonuc.Text = islem.Cikar(sayi1, sayi2).ToString(); } private void btnCarp_Click(object sender, EventArgs e) { int sayi1 = Convert.ToInt32(txtSayi1.Text); int sayi2 = Convert.ToInt32(txtSayi2.Text); lblSonuc.Text = islem.Carp(sayi1, sayi2).ToString(); } private void btnBol_Click(object sender, EventArgs e) { int sayi1 = Convert.ToInt32(txtSayi1.Text); int sayi2 = Convert.ToInt32(txtSayi2.Text); lblSonuc.Text = islem.Bol(sayi1, sayi2).ToString(); } } } |