هر کلاس در سی شارپ داخل یک فایل فیزیکی با پسوند 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 میتوانند شامل متدهای 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 موارد زیر را باید رعایت کرد :
منبع : learnsource