วัตถุสะท้อนใช้สำหรับรับข้อมูลประเภทที่รันไทม์ คลาสที่ให้การเข้าถึงข้อมูลเมตาของโปรแกรมที่กำลังทำงานอยู่ในเนมสเปซ System.Reflection
ต่อไปนี้คือการใช้งานของ Reflections -
-
อนุญาตให้ดูข้อมูลแอตทริบิวต์ที่รันไทม์
-
อนุญาตให้ตรวจสอบประเภทต่าง ๆ ในแอสเซมบลีและยกตัวอย่างประเภทเหล่านี้
-
อนุญาตให้ผูกกับเมธอดและคุณสมบัติล่าช้า
-
อนุญาตให้สร้างประเภทใหม่ที่รันไทม์แล้วทำงานบางอย่างโดยใช้ประเภทเหล่านั้น
เรามาดูตัวอย่างกัน −
ตัวอย่าง
using System; [AttributeUsage(AttributeTargets.All)] public class HelpAttribute : System.Attribute { public readonly string Url; public string Topic // Topic is a named parameter { get { return topic; } set { topic = value; } } public HelpAttribute(string url) // url is a positional parameter { this.Url = url; } private string topic; } [HelpAttribute("Information on the class MyClass")] class MyClass { } namespace AttributeAppl { class Program { static void Main(string[] args) { System.Reflection.MemberInfo info = typeof(MyClass); object[] attributes = info.GetCustomAttributes(true); for (int i = 0; i < attributes.Length; i++) { System.Console.WriteLine(attributes[i]); } Console.ReadKey(); } } }