Object Initializer ให้ความสามารถในการกำหนดค่าคุณสมบัติ (Properties) หรือฟิลด์ (Fields) ของอ็อบเจกต์ทันทีที่สร้าง โดยไม่ต้องเรียก Constructor ที่มีพารามิเตอร์
รูปแบบ
var emp = new Employee
{
EID = 10,
EmpName = "Tim",
EmpDept = "Finance"
};
ตัวอย่างโค้ดเต็ม
using System;
public class Demo
{
public static void Main()
{
Employee empDetails = new Employee
{
EID = 10,
EmpName = "Tim",
EmpDept = "Finance"
};
Console.WriteLine(empDetails.EID);
Console.WriteLine(empDetails.EmpName);
Console.WriteLine(empDetails.EmpDept);
}
}
public class Employee
{
public int EID { get; set; }
public string EmpName { get; set; }
public string EmpDept { get; set; }
}
ผลลัพธ์
10 Tim Finance
ข้อดี: โค้ดสะอาด ลดความจำเป็นต้องสร้าง Constructor หลายรูปแบบ (Telescoping Constructors) และทำงานร่วมกับ Collection Initializer ได้ดี