ระบบ เนมสเปซการสะท้อนมีคลาสที่ให้คุณรับข้อมูลเกี่ยวกับแอปพลิเคชันและเพิ่มประเภท ค่า และอ็อบเจ็กต์ในแอปพลิเคชันแบบไดนามิก
ออบเจ็กต์การสะท้อนใช้สำหรับรับข้อมูลประเภทที่รันไทม์ คลาสที่ให้การเข้าถึงข้อมูลเมตาของโปรแกรมที่กำลังทำงานอยู่ในระบบ เนมสเปซสะท้อนแสง
การสะท้อนช่วยให้ดูข้อมูลแอตทริบิวต์ที่รันไทม์ได้
การสะท้อนช่วยให้ตรวจสอบประเภทต่างๆ ในชุดประกอบและยกตัวอย่างประเภทเหล่านี้ได้
การสะท้อนช่วยให้มีผลผูกพันกับวิธีการและคุณสมบัติล่าช้า
การสะท้อนช่วยให้สร้างประเภทใหม่ในขณะใช้งานจริง แล้วทำงานบางอย่างโดยใช้ประเภทเหล่านั้นได้
ตัวอย่าง
GetProperty(สตริง)
ค้นหาทรัพย์สินสาธารณะด้วยชื่อที่ระบุ
GetType(สตริง บูลีน)
รับอ็อบเจ็กต์ Type ที่มีชื่อที่ระบุในอินสแตนซ์แอสเซมบลี และอาจมีข้อยกเว้นหากไม่พบประเภทดังกล่าว
SetValue(Object, Object)
ตั้งค่าคุณสมบัติของวัตถุที่ระบุ
class Program{
static void Main(string[] args){
User user = new User();
Type type = user.GetType();
PropertyInfo prop = type.GetProperty("Name");
prop.SetValue(user, "Bangalore", null);
System.Console.WriteLine(user.Name);
Console.ReadLine();
}
}
class User{
public int Id { get; set; }
public string Name { get; set; }
} ผลลัพธ์
Bangalore