C# Partial Class Nedir ?

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.

partial class A
{
    public static void A1()
    {
        Console.WriteLine("A1");
    }
 }
partial class A
{
    public static void A2()
    {
        Console.WriteLine("A2");
    }
}

Kullanımı

class Program
{
    static void Main()
    {
	A.A1();
	A.A2();
    }
}
Output
A1
A2

Html.Partial ve Html.RenderPartial arasındaki fark nedir?

Html.Partial
Partial metotu, herhangi bir Partial View’i veya Normal View’i bir string içerisine render eder. Birden
çok farklı View içinden render etmek istediğiniz partial view gibi render edebilirsiniz. Index sayfası
içerisinde Footer Action’i açıyoruz
Kullanımı:
@Html.Partial(“Footer”)

aspnet_mvc3_partial

Html.RenderPartial
RenderPartial, Render’e benzemektedir. Fakat RenderPartial’i doğrudan string döndürmek yerine
yanıtı yazar. Kullanım olarak kod blokları arasında yazmanız gerekiyor. Aşağıdaki iki kullanımında
çıktısı aynıdır:
@{Html.RenderPartial(“Footer”); }
@Html.Partial(“Footer”)
Peki Partial’i mi yoksa RenderPartial’i mi kullanmam gerekiyor?
Genel olarak, Partial‘i RenderPartial‘a tercih etmenizi tavsiye ediyorum. Çünkü Partial, ek olarak kod
blokları yazıpta içerisinde kullanmadığımız için daha kullanışlıdır. Fakat RenderPartial, doğrudan gelen
yanıtı yazdığı için daha performanslıdır.