C# İle Generic Sınıflar Oluşturma Ve Kurallar Belirleme

C# İle Generic Sınıflar Oluşturma, C# ile OOP uygulama geliştirdiğinizde generic sınıflar olmazsa olmazlardan diyebileceğimiz bir yapıdır. Tek bir generic sınıf oluşturarak belkide 10’larca sınıfta tekrar eden ve işi görecek kodları tek sınıftan halledebilceksiniz.

C# ile Generic sınıflar oluşturma ve kurallar belirleme

C# ile Generic sınıflar oluşturma ve kurallar belirleme

Örnek 1

En basit anlamda generic sınıfları anlatmaya çalışırsak varolan bir generic yapıdan örnek vermek istiyorum sıkça kullandığımız bir liste türü olan List ile T yerine istediğiniz tür objeyi geçerek listeye o türde veriler ekleyeceğinizi belirtebiliyor olası veri uyuşmazlıklarından bir nebze de olsa kurtulmuş oluyorsunuz. List türüne bir örnek verelim hemen, bu örneğimizde 5 kişinin adının saklandığı bir liste oluşturacağız.

C#

List sınıfını kullanabilmek için System.Collections.Generic namespace’ini eklemeyi unutmayınız. Üstteki kodda List generic sınıfına string tipini verdiğimiz için Add metodunda parametre olarak string geçebileceğiz bunun haricinde başka bir tip değer geçilemez.

Örnek 2

Şimdi kendi generic sınıfımızı oluşturalım ve nasıl yapıldığı anlamaya çalışalım. Web programcılarının en çok kullandığı terimlerden biri olan Result yani sonuç kümelerinden yola çıkarak bir senaryo oluşturmaya çalışalım. Şimdi web’de her sayfada yaptığınız istekler sonucunda farklı veri kümeleri döner bu farklı veri kümeleri için farklı sınıfllar oluşturmaktansa generic bir yapı ile aynı sonuç kümesi fakat sadece geriye dönecek veri kümesi türünü generic sınıfına parametre geçerek ayarlayabiliriz. Alttaki kodda demek istediğimiz daha net anlayabilirsiniz.

Generic Sonuç sınıfımız.

C#

Üstteki koddada gördüğünüz gibi Sonuc sınıfı içerisindeki Basarili ve Mesaj özellikleri sabit tipte fakat Data özelliği sınıfa parametre olarak geçilen tipte dönmektedir. biz bu örneğimizde Sonuç özelliğine int tipinde bir değer verelim.

C#

Bu durumda res.Data özelliğine sadece int türünde bir veri atayabilirsiniz.

Örnek 3

Eğer yaptığınız generic sınıfa parametre olarak geçilecek tiplerin belirli tipte olmasını istiyorsanız bunu where anahtar kelimesi ile ayarlayabilirsiniz önceki örneğimizde yer alan Sonuc sınıfı ile devam edecek olursak Sonuc sınıfına parametre olarak sadece class türünde veri ayarlanabileceğiniz alttaki gibi belirtebiliyoruz böylelikle class türü dışındaki hiçbir türü parametre olarak geçemeyeceksiniz.

Örnek 2’deki kodumuzu where anahtar kelimesini ekleyerek sadece class türünde verinini parametre olarak geçilebileceğini belirttik ve Parametre olarakda Kisi adındaki sınıfı geçtik.

C#

Örnek 4

Generic sınıf oluşturduğunuzda parametre ismi olarak istediğiniz ismi verebilirsiniz tek parametreli generic sınıflarda standart olarak T kullanılmaktadır fakat birden fazla parametre geçileceği durumlarda geçilen parametrenin ne olduğunu belirtmeniz oluşturduğunuz sınıfı kullanacak kişinin ne amaçla parametre olarak geçtiğini bilmesi açısından önemlidir. Şimdiki örneğimizde yine üstteki son iki örneğimizde olduğu gibi Sonuc sınıfı üzerinden devam ederek örnek verelim. Burada 3 özelliğinde generic olarak parametre yolu ile oluşmasını sağlayalım.

C#

Birden fazla where kullanımı

Eğer birden fazla where kullanarak generic sınıfa parametre olarak geçilen türlerin neler olacağını sınırlamak isterseniz o zaman yan yana arada ayraç olmadan kullanabilirsiniz örnek olarak Mesaj özelliğininde Data özelliğinde olduğu gibi sadece class türünden veri geçilebileceğini alttaki gibi belirtebilirsiniz.

C#

C# İle Generic Sınıflar Oluşturma Ve Kurallar Belirleme
4.6 (92.31%) 13 oy

Bunlar da hoşunuza gidebilir...

4 Cevaplar

  1. süleyman dedi ki:

    çok yararlı oldu teşekkürler

  2. Emre dedi ki:

    Teşekkürler, faydalı oldu.

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

This site uses Akismet to reduce spam. Learn how your comment data is processed.