آموزش کلاس های partial در سی شارپ به زبان ساده
اگر با سی شارپ یا دیگر زبان های برنامه نویسی کار کرده باشید؛ احتمالاً شما به این واقعیت عادت کرده اید که نام یک کلاس باید منحصر به فرد باشد – دو کلاس با یک نام نمی تواند وجود داشته باشد، مگر اینکه در فضاهای نام مختلفی وجود داشته باشند. با این حال ، در یک مقطع ، مایکروسافت با معرفی چیزی به نام کلاسهای partial تصمیم به تغییر این مسئله گرفت.
وقتی کلاس خود را با کلیدواژه partial تعریف می کنید، به شما یا شخص دیگری اجازه داده می شود تا عملکرد کلاس خود را با یک کلاس دیگر گسترش دهید، که این کلاس باید به صورت partial اعلام شود. به کار بردن این کلاس، در شرایط زیر مفید است:
- زمانی که کلاس های بسیار بزرگی دارید – شما می توانید سپس آن را در چندین فایل نگه دارید؛ تا کار کردن با بخش های مختلف آن را ساده تر کنید. برای نمونه؛ شما می توانید تمام ویژگی ها را در یک فایل نگه دارید و تمام متدها را در فایل دیگر قرار بدهید؛ در حالی که همچنان یک کلاس دارید.
- زمانی که با یک دیزاینر مانند آنچه در ویژوال استودیو است؛ مثلاً WinForms کار می کنید؛ تمام کدهای دیزاینر که به صورت خودکار تولید شده اند را می توان در یک فایل نگه داشت؛ در حالی که کد شما در فایل دیگری نگه داری می شود.
اجازه دهید این نکته را با ذکر یک مثال نمایش بدهیم. در پروژه ای که مطرح می کنم، من Program.cs معمول را دارم که در برنامه کنسول قرار دارد. علاوه بر آن؛ من دو فایل اضافه کرده ام: PartialClass1.cs و PartialClass2.cs . در ادامه می توانید فایل ها و محتوای آنها را تماشا کنید:
PartialClass1.cs
using System;
برنامه نویسی سی شارپ رو قورت بده! بدون کلاس، سرعت 2 برابر، ماندگاری 3 برابر، پولسازی با ساخت اپلیکیشن، توسعه وب ... دانلود:
namespace PartialClasses
{
public partial class PartialClass
{
public void HelloWorld()
{
Console.WriteLine(“Hello, world!”);
}
}
}partialClass2.cs
using System;
namespace PartialClasses
{
public partial class PartialClass
{
public void HelloUniverse()
{
Console.WriteLine(“Hello, universe!”);
}
}
}
مشاهده می کنید که هر دو کلاس با کلیدواژه partial تعریف می شوند و نام های مشابهی دارند. همچنین توجه کنید که هریک از آنها یک متد را تعریف می کنند ()HelloWorld و ()HelloUniversal. در Program.cs ما، می توانیم اکنون از این کلاس مانند کلاس های دیگر استفاده کنیم، گویا این که آن کلاس فقط در یک مکان تعریف شده است.
using System;
namespace PartialClasses
{
class Program
{
static void Main(string[] args)
{
PartialClass pc = new PartialClass();
pc.HelloWorld();
pc.HelloUniverse();
}
}
}
خلاصه
با کلاس های Partial، شما می توانید کلاس های تان را به چندین فایل تقسیم کنید. دلیل استفاده از این کلاس ها ممکن است به دلیل بزرگ بودن بیش از حد کلاس باشد. همچنین هنگامی که با دیزاینر ویژوال استودیو برای WinForms کار می کنید؛ به کار گیری آنها می تواند مفید باشد.
ممنون، مختصر و مفید
پاسخ