İlk olarak Visual Studio muzu açıp File>New>Project komutuyla yeni bir proje oluşturuyoruz.

Karşımıza gelen pencereden ClassLibrary’i (SınıfKütüphanesi) seçiyoruz

Daha sonra karşımıza kod ekranımız geliyor buraya projemiz içerisinde sıklıkla kullanacağımız kodları yazıyoruz örneğin dinamik bir websayfası yapacaksak buraya SQLConnection / SQL Baglantı nesnemizi yazabiliriz.

Şekilde görüldüğü gibi….Daha sonra F6 ile kodlarımızı Build ediyoruz yani derliyoruz.
Class Library’ler hiçbir şekilde executable yani tek başına çalıştırılabilir dosyalar değildirler kesinlikle bir proje ile beraber çalışabilirler zaten build edildikten sonra ortaya çıkan Assembly .dll uzantılı bir Assembly’dir.Projemizi derledikden sonra oluşturduğumuz dizin içerisinde Bin klasöründe bizi bir dll olarak bekler.

Daha sonra ClassLibrary projemizi kapatıyoruz.Bu defa File>New>Project menüsünden
WindowsFormsApplication açıyoruz….
Yukarıdaki resimle aynıdır lokasyonunu, proje ismini ayarladıkdan sonra…Kod kısmına geliyoruz tabi önce formumuzu bir tasarlayalım…
Formumuza kafanızın karışmaması için ve basit olması açısından Data sekmesinden DataGridView ekliyorum.Daha sonra form üzerine tıklayıp formumuzun Load olayına geliyoruz yani formumuz açıldığında…Burada form açıldığı anda VeriTabanımızdan (VT veya DB) veri çektirip DataGridView’da göstereceğiz…
privatevoid Form1_Load(object sender, EventArgs e)
{
}
Bloklarımız arasına kodlarımızı yazmadan önce az önce oluşturduğumuz Assembly’imizi yani DLL dosyamızı projemize ekliyoruz (Import ediyoruz).
Solution Explorer sekmesinden projemize sag tıklıyoruz, ardından Add Referance diyoruz.

Daha sonra karşımıza bir pencere çıkıcak (Add Reference Penceresi) bu pencereden üstteki sekmelerden Browse’a tıklıyoruz.

Yukarıdada aradığı dosya türünde görüyoruz ki çalıştırılabilir ve çalışabilir dosyaları arıyor.Hemen az önce oluşturduğumuz dll’in yolunu veriyoruz..
Dll’i buldugumuzda OK diyoruz ve otomatik olarak Visual Studio bizim için dll’imizi References’a (Referanslarımıza) ekliyor.

Gördüğünüz gibi ekledi burada ClassLibrary1 diye gelmesinin ismi bizim ClassLibrary projemizi oluştururken ona ClassLibrary1 olarak isim vermemizden kaynaklanıyor…
DLL’imizi projemize ekledik ancak yukarıdaki namespace(isim uzayı) alanına yani şu using kelimelerinin olduğu alan dll’imizi import etmeden dll’imizi kullanamayacağız.
Using Dllladımız;
Şeklinde import edelim.

Gördüğünüz gibi en altta import ettim yani ekledim…
Şimdi ClassLibrary1 projemizde oluşturduğumuz SQLConnection türündeki baglan nesnemizi çagıralım…Bunun için
ClassLibraryİsmi.Classİsmi.Methodİsmi();
Yani > ClassLibrary1.Class1.baglan();
Ben ClassLibrary1 içerisindeki class’ada bir isim vermemiştim.Visual studio class1 adında bir isim atamış.
Şimdi hızlı bir şekilde usinglerin oldugu yere yani namespace’lerimize bazı eklemeler yapalım hemen
using System.Data.SqlClient;
ekledikden sonra şu kodları load olayımıza yazıyoruz.
SqlConnection baglantim = ClassLibrary1.Class1.baglan();
SqlDataAdapter da = newSqlDataAdapter("select * from Tbl_Makale", baglantim);
DataTable dt = newDataTable();
da.Fill(dt);
dataGridView1.DataSource = dt;
Gördüğünz gibi SQLConnection nesnesinde herhangi bir SQL baglantı cümlesi yazmadım ve classlibrary dosyamda baglanti.open dediğimden burada tekrar baglantıyı açmak zorunda kalmadım….Sadece DataTable ve DataAdapter nesnelerim arasında dönüşler yaptım ve son olarak DataGridimin data kaynagına DataAdapter ile doldurdugum dataların yüklendiği datatable’ı kaynak olarak gösterip formumu çalıştırdım ve

Burada asıl anlatmak istediğim…Bazı projelerde çogu zaman aynı kodları tekrar tekrar yazarız baglantı nesnemiz genelde en çok kullanılan…Kod tekrarlarını önlemek için dll dışında interface ve inheritance yani kalıtım kullanılabilir.
From MegaTurks.Net umarım yararlı olur.
Alıntı yaparken kaynak gösterirseniz sevinirim.Ayrıca makalede gösterilenleri ve makalenin doc halini indirmek için >
İndir
http://uploaded.to/?id=4oqtkd
http://s1.dosya.tc/.Net-Dll.rar.html
http://www.Dosyan.com/549273284-.Net-Dll.rar
http://www.dosyasitesi.com/833310444
[/quote]
Linkler kırık yenilerseniz çok yardımıcı olursunuz ??
YanıtlaSil