ویرگول
ورودثبت نام
AmirDolatAbadi
AmirDolatAbadiamirdolatabadi.blogfa.com
AmirDolatAbadi
AmirDolatAbadi
خواندن ۴ دقیقه·۶ سال پیش

کلاس های Partial

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

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

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

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

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

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

کلاس MyPartialClass در فایل PartialClassFile1.cs یک سازنده و یک متد با نام Method1 را تعریف کرده است ، این در حالی است که این کلاس در فایل PartialClassFile2.cs متد عمومی Method2 را پیاده سازی کرده است. کامپایلر در زمان کامپایل، این دو کلاس 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 استفاده شده است :

فایل PartialClassFile1.cs :

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

فایل PartialClassFile2.cs :

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

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

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

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

منبع : learnsource

۳
۰
AmirDolatAbadi
AmirDolatAbadi
amirdolatabadi.blogfa.com
شاید از این پست‌ها خوشتان بیاید