วันศุกร์ที่ 3 ตุลาคม พ.ศ. 2551

เรื่องของ Nested Class ใน .Net

ก่อนอื่นต้องทำความรู้จัก Nested Class ก่อนว่าคืออะไร พิจารณา Code ต่อไปนี้
class Container
{
class Nested
{
Nested() {}
}
}
จากตัวอย่าง code ข้างต้นจะเห็นว่าภายใน class Container จะมี class ภายใน ซึ่งเราจะเรียกว่า Nested Class โดยปกติแล้้ว การมองเห็น Nested จะเป็น private แต่เราสามารถเปลี่ยนรูปแบบการมองเห็นเป็นแบบอื่นได้ เช่น public, protected เป็นต้น
สำหรับการอ้างถึง Container Class (class นอก) จาก Nested Class (class ภายใน) สามารถทำได้โดยใช้ constructer ช่วย ดังตัวอย่างต่อไปนี้
public class Container
{
public class Nested
{
private Container m_parent;
public Nested()
{
}
public Nested(Container parent)
{
m_parent = parent;
}
}
}
การอ้างถึง Nested Class จากภายนอกสามารถทำได้โดย
Container.Nested nest = new Container.Nested();

ไม่มีความคิดเห็น: