با عرض سلام و وقت بخیر خدمت کاربران سایت پی وی لرن ، با دوره کامل آموزش #C در خدمت شما دوستان هستیم . در بخش قبلی با مجموعه عمومی Dictionary در زبان #C آشنا شدید ، در این بخش قصد داریم شما را با Partial Class در #C و الزامات Partial Method در سی شارپ آشنا کنیم.
هر کلاس در #C در یک فایل فیزیکی جداگانه با پسوند cs قرار می گیرد. #C توانایی اجرای یک کلاس را در چند فایل cs با استفاده از کلمه کلیدی partial فراهم می کند. partial می تواند به یک کلاس، متد ، رابط یا ساختار اعمال شود.
به عنوان مثال، کلاس MyPartialClass زیر به دو فایل PartialClassFile1.cs و PartialClassFile2.cs تقسیم می شود:
PartialClassFile1.cs :
1 2 3 4 5 6 7 8 9 10 11 | public partial class MyPartialClass { public MyPartialClass() { } public void Method1(int val) { Console.WriteLine(val); } } |
PartialClassFile2.cs :
1 2 3 4 5 6 7 | public partial class MyPartialClass { public void Method2(int val) { Console.WriteLine(val); } } |
MyPartialClass در PartialClassFile1.cs سازنده و یک متد عمومی، به نام Method1 را تعریف می کند، در حالی که PartialClassFile2 فقط متد عمومی Method2 است. کامپایلر این دو کلاس جزئی (Partial) را به یک کلاس به صورت زیر ترکیب می کند:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | 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 :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | public partial class MyPartialClass { partial void PartialMethod(int val); public MyPartialClass() { } public void Method2(int val) { Console.WriteLine(val); } } |
PartialClassFile2.cs :
1 2 3 4 5 6 7 8 9 10 11 12 | public partial class MyPartialClass { public void Method1(int val) { Console.WriteLine(val); } partial void PartialMethod(int val) { Console.WriteLine(val); } } |
PartialClassFile1.cs شامل اعلان متد partial و PartialClassFile2.cs شامل پیاده سازی آن است.
تصویر زیر partial class و partial method را نشان می دهد:
کامپایلر دو partial class را به یک کلاس نهایی تبدیل می کند:
در این بخش با partial ها در زبان #C آشنا شدید ، در بخش بعدی قصد داریم در رابطه با کلمه کلیدی Static در این زبان صحبت کنیم.