اینجا میتونی برنامه نویسی ویندوز رو به طور کاملا رایگان یاد بگیری
2 سال پیش / خواندن دقیقه

کلاس های Partial در سی شارپ

کلاس های سی شارپ در فایل هایی با پسوند cs. قرار میگیرند. میتوان یک کلاس را  با استفاده از کلمه ی کلیدی Partial در چند فایل جداگانه قرار داد. مزیت این روش این است که چندین برنامه نویس میتوانند به طور همزمان روی یک کلاس کار کنند. در این فصل با کلاس های Partial در سی شارپ آشنا خواهیم شد.

کلاس های Partial 

هر کلاس در سی شارپ داخل یک فایل فیزیکی با پسوند cs. قرار می گیرد. زبان سی شارپ قابلیتی را فراهم می‌آورد که به کمک آن می توان پیاده سازی یک کلاس را در چندین فایل فیزیکی با پسوند cs. انجام داد. این کار با استفاده از کلمه ی کلیدی Partial انجام می‌پذیرد. کلمه کلیدی Partial می تواند بر روی یک کلاس، متد، اینترفیس و یا ساختار اعمال شود.

برای مثال کلاس MyPartialClass در نمونه مثالهای زیر در دو فایل جداگانه با نام های PartialClassFile۱.cs و PartialClassFile۲.cs پیاده سازی شده است.

نمونه کد زیر در فایل PartialClassFile۱.cs قرار دارد :

public partial class MyPartialClass
{
    public MyPartialClass()
    {
    }
    public void Method1(int val)
    {
        Console.WriteLine(val);
    }
}

نمونه کد زیر در فایل PartialClassFile۲.cs قرار دارد :

public partial class MyPartialClass
{
    public void Method2(int val)
    {
        Console.WriteLine(val);
    }
}

کلاس MyPartialClass در فایل PartialClassFile۱.cs یک سازنده و یک متد با نام Method۱ را تعریف کرده است ، این در حالی است که این کلاس در فایل PartialClassFile۲.cs متد عمومی Method۲ را پیاده سازی کرده است. کامپایلر در زمان کامپایل، این دو کلاس Partial را به یک کلاس تبدیل خواهد کرد :

public class MyPartialClass
{
    public MyPartialClass()
    {
    }
        
    public void Method1(int val)
    {
        Console.WriteLine(val);
    }
    public void Method2(int val)
    {
        Console.WriteLine(val);
    }
}

در هنگام تعریف کلاس های Partial موارد زیر را باید رعایت کنید :

  • تعریف همه کلاس های Partial باید در اسمبلی و فضای نام یکسانی انجام شود
  • در تعریف کلاس های Partial باید از سطح دسترسی یکسانی برای همه آنها استفاده نمود(public ،private و ...)
  • کلمه کلیدی Partial باید بدون واسطه و قبل از کلمه کلیدی class به کار برده شود

مزیت مهم استفاده از کلاس های Partial به شرح زیر است :

  • چندین برنامه نویس میتوانند به طور همزمان روی یک کلاس کار کنند

متد های Partial

کلاس ها و یا ساختارهای Partial می‌توانند شامل متدهای Partial باشند. یک متد Partial باید در یکی از کلاس های Partial تعریف شود. در نمونه مثال های زیر از متد Partial استفاده شده است :

فایل PartialClassFile۱.cs :

public partial class MyPartialClass
{
    partial void PartialMethod(int val);
    public MyPartialClass()
    {
            
    }
    public void Method2(int val)
    {
        Console.WriteLine(val);
    }
}

فایل PartialClassFile۲.cs :

public partial class MyPartialClass
{
    public void Method1(int val)
    {
        Console.WriteLine(val);
    }
    partial void PartialMethod(int val)
    {
        Console.WriteLine(val);
    }
}

فایل PartialClassFile۱.cs شامل تعریف متد مورد نظر بوده و فایل PartialClassFile۲.cs شامل پیاده‌سازی آن است.

در هنگام استفاده از متدهای Partial موارد زیر را باید رعایت کرد :

  • تعریف متد های Partial باید با کلمه ی کلیدی Partial آغاز شوند.
  • متدهای Partial می توانند دارای پارامتر های ref باشند اما در آنها نمی توان از پارامترهای out استفاده نمود.
  • متدهای Partial می توانند static و generic باشند.

تصویر زیر کلاس ها و متدهای partial را نشان می دهد :

کلاس های Partial در سی شارپ
کامپایلر  دو کلاس Partial را به یک کلاس تبدیل میکند :

کلاس های Partial در سی شارپ



شاید از نوشته‌های زیر خوشتان بیاید
نظر خود را درباره این پست بنویسید ...

منوی سریع