C# Partial Nedir?

C# Partial Nedir?

Bu makalemde C# kullanılan Partial anahtar kelimesinin ne olduğunu , neden kullanıldığını bize ne gibi faydalar sağladığını kısa bir şekilde anlatacağım.


C# Partial anahtar sözcüğü bir class’ın çok sayıda parçaya bölünmesini sağlar.
Peki bir classı neden birden fazla parçaya bölmek isteyebiliriz. Temel sebebi kodun anlaşılabilirliği ve temiz kod yazılması.
Büyük projelerde sınıfların içerisindeki kod satıları alıp başını gidebilir. Sınıfın içerisinde kaybolmak ve ümitsizliğe kapılıp ben bu kodu nasıl anlıyacağım endişesine kapılmak çok normal.


Siz ve sizden sonra geleceklerin kodları daha rahat anlaması için C# Partial anahtar kelimesini bilip kullanmak gerekmektedir.
Örneğin temel CRUD (select,update,delete,insert) işlemleri bir classa diğer sizin yazdığınız metotları başka bir partial class’a alabilirsiniz.

C# Partial Kullanım Şartları

Aynı assembly and namespace’de olmak zorundalar.
Erişim belirteçleri aynı olmak zorunda. (public,private)
Eğer bir class (abstract,sealed,..) gibi anahtar kelimeleri kullandı ise diğer partial class’da kullanmak zorunda.
İç içe class’lar kullanılabilir.
Class, struct, or interface gibi keywords’lerin önüne gelebilirler.
Partial metotlar yazılabilir.

C# Partial class ayrı ayrı yazılmasına rağmen tek bir parça gibi hareket eder.

Yazarlar ve YazarlarPartial adında iki class oluşturdum. İlk sınıfa yazarın özelliklerini tanımladım.
İkinci sınıfada metot tanımladım ve aşağıdaki gibi çağırdım.

<code>namespace PartialClass
{
    public partial class Yazarlar
    {

        public Yazarlar()
        {

        }

        private int id;
        private string adi;
        private string soyadi;
        private string kitabi;

        public int Id
        {
            get { return id; }
            set { id = value; }
        }
        public string Adi
        {
            get { return adi; }
            set { adi = value; }
        }

        public string Soyadi
        {
            get { return soyadi; }
            set { soyadi = value; }
        }

        public string Kitabı
        {
            get { return kitabi; }
            set { kitabi = value; }
        }
    }
}
</code>

<code>namespace PartialClass
{
    public partial class Yazarlar
    {
        public string YazarAdiGetir()
        {
            return Adi;
        }

    }
}
</code>
<code>using System;

namespace PartialClass
{
    class Program
    {
        static void Main(string&#91;] args)
        {
            Yazarlar yazarlar = new Yazarlar();
            yazarlar.Adi = "Harun";

            Console.WriteLine(yazarlar.YazarAdiGetir());

            Console.ReadKey();

        }
    }
}
</code>

Umarım faydalı bir makale olmuştur.

Author: Harun Balta
Bilgisayar Mühendisi Üzerine çalıştığım konular: C# , .Net , WPF , Entity Framework ,MVVM, Oracle ,Pl/Sql