Büyük projelerde oluşturduğumuz class' lar zamanla okunması zor hale gelebilecek uzunlukta kod satırları ile dolabilmektedir. Partial class bize bir class' ı birden fazla class olarak bölmemize, constructor, değişken, property, metodları vs. düzenli bir şekilde ayrı ayrı oluşturmamızı sağlamaktadır. Fiziksel olarak birden fazla parça ile oluşan partial class' lar, çalışma zamanında tek bir class olarak bütün elemanları içerisinde barındırmaktadır.
Partial class ile fiziksel olarak parça class'ların birleşmesi için class isimlerinin aynı olması gerekmektedir.
Örneğimizde constructor, değişken, property ve metodlarımızı ayrı ayrı classlar içerisinde oluşturalım ve sonra çalışma anındaki birleşmiş halini inceleyelim.
Constructor class' ımızı tanımlayalım.
public partial class Personeller { public Personeller() { } public Personeller(Personeller personel) { PersonelEkle(personel); } }
Değişkenlerimizi tanımlayalım.
public partial class Personeller { private string adi; private string soyadi; private int yas; private List< Personeller> personel = new List< Personeller>(); }
Propertylerimizi tanımlayalım.
public partial class Personeller { public string Adi { get { return adi; } set { adi = value; } } public string Soyadi { get { return soyadi; } set { soyadi = value; } } public int Yas { get { return yas; } set { yas = value; } } public List< Personeller> Personel { get { return personel; } } public Personeller PersonelKayit { set { personel.Add(value); } } }
Son olarak bir tane metod tanımı yapalım.
public partial class Personeller { public void PersonelEkle(Personeller pers) { PersonelKayit = pers; } }
Gördüğünüz gibi fiziksel olarak 4 parçadan oluşan class' ımız, çalışma anında aşağıdaki şekilde görüldüğü gibi tek bir parça olarak görüntülenecektir.
Karmaşık class yapılarında oldukça kullanışlı bir yapıya sahiptir. Bu tarz yapılarda partial class ile karmaşık bir şekilde iç içe bulunan yapıları, ayrı birer class olarak tanımlamak koda daha iyi bir şekilde hakim olmanızada yardımcı olacaktır.
Başarılar dilerim.