This article is currently in the process of being translated into Thai (~98% done).
Partial Classes
จากที่ได้เรียนการเขียนโปรแกรมมา เรารู้ว่าเราไม่สามารถใช้ class ชื่อเดียวกันได้ นอกจากว่า เราจะใช้ namespace ต่างกัน แต่ใน Microsoft C# เราสามารถทำได้ด้วย partical class
เมื่อเราสร้าง class ด้วย partial keyword เราจะสามารถขยายหรือเพิ่ม method ของ class นั้นได้ ซึ่งมีประโยชย์กับการใช้งานดังนี้
- ถ้าเรามี class ที่ใหญ่มากๆ เราสามารถเก็บ class ให้เป็นหลายๆ file ได้ เช่น file นึงเก็บเฉพาะ property และอีก file นึงเก็บ method
- ถ้าเราใช้ designer เช่น ใน Visual Studio จะมี WinForm ที่มันจะสร้าง designer ให้เราเลย ส่วนสิ่งที่เราจะโค้ดก็จะเป็นอีก file นึง
ในตัวอย่าง จะมี Program.cs ใน console app เราได้สร้าง partial class มา 2 class คือ PartialClass1.cs และ PartialClass2.cs ดังนี้
PartialClass1.cs
using System;
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!");
}
}
}
ทั้ง 2 class ได้กำหนดด้วย partial keyword และมีชื่อ class เดียวกัน partial class แรก จะมี HelloWorld() ส่วน partial class ที่ 2 จะมี HelloUniverse() ใน Program.cs เราสามารถใช้ method นี้ได้ทั้งคู่เหมือนกับที่เราเขียนใน file เดียวกัน
using System;
namespace PartialClasses
{
class Program
{
static void Main(string[] args)
{
PartialClass pc = new PartialClass();
pc.HelloWorld();
pc.HelloUniverse();
}
}
}
สรุป
ด้วย partial class เราสามารถแยก class ออกเป็นหลายๆ file ได้ เพราะบางที่ class อาจจะใหญ่มาก โค้ดอาจจะเยอะ หรือเมื่อเวลาเราใช้ WinForm ของ Visual Studio designer