Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C#

การสะท้อนกลับใน C # คืออะไร?


วัตถุสะท้อนใช้สำหรับรับข้อมูลประเภทที่รันไทม์ คลาสที่ให้การเข้าถึงข้อมูลเมตาของโปรแกรมที่กำลังทำงานอยู่ในเนมสเปซ System.Reflection

วัตถุ MemberInfo ของระบบ ต้องเริ่มต้นคลาสการสะท้อนเพื่อค้นหาแอตทริบิวต์ที่เกี่ยวข้องกับคลาส

ในตัวอย่างด้านล่าง เราได้ตั้งค่าวัตถุของคลาสเป้าหมาย -

System.Reflection.MemberInfo info = typeof(MyClass);

นี่คือตัวอย่าง −

ตัวอย่าง

using System;
using System.Reflection;

[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();
      }
   }  
}