کلاس تکه تکه (partial class)

استفاده از کلمه کلیدی partial به شما اجازه می‌دهد که یک کلاس را در چندین فایل جداگانه تعریف کنید. به عنوان مثال می‌توانید فیلدها، خاصیت‌ها و سازنده‌ها را در یک فایل و متدها را در فایل دیگر قرار دهید. برای تعریف این نوع کلاس‌ها از کلمه کلیدی partial استفاده می‌شود. در مثال زیر نحوه تعریف یک کلاس partial در دو فایل جدا نشان داده شده است :

public partial class Sample
{
   private int sampleField;

   public int SampleProperty
   {
      get { return sampleField; }
      set { sample = value; }
   }
}
public partial class Sample
{
    public void DoSomething()
    {
        //Do something here
    }
}

در این مثال مشاهده می‌کنید که برای تعریف کلاسها از کلمه کلیدی partial استفاده شده است. همچنین فایلهای جدا در یک کلاس به نام Sample تعریف شده‌اند. در قسمت اول (فایل اول) یک فیلد و یک property و در قسمت دوم (فایل دو) یک متد تعریف شده است. هنگام ارث بری از کلاس‌ها یا پیاده سازی رابط‌ها فقط یک بخش از کلاس‌های partial برای ارث بری نیاز است. اگر بخش اول کلاس را IInterface1 و بخش دوم آن را IInterface2 بنامیم در نهایت کلاس اصلی ترکیبی از این دو بخش خواهد بود.

public partial class Sample : IInterface1
{
}
public partial class Sample : IInterface2
{
}

می‌توان کلاس را به صورت زیر نیز نوشت :

public class Sample : IInterface1, IInterface2
{
}

از کلاسهای تکه تکه در فرم‌های و.یندوزی و وب فرم‌ها برای جدا کردن فایل‌های کد از فایل‌هایی که در سرتاسر طراحی این فرم‌ها به کار می‌روند استفاده می‌شود.