परावर्तन वस्तुओं का उपयोग रनटाइम पर प्रकार की जानकारी प्राप्त करने के लिए किया जाता है। एक चल रहे प्रोग्राम के मेटाडेटा तक पहुँच प्रदान करने वाली कक्षाएं System.Reflection नाम स्थान में हैं।
प्रतिबिंबों के अनुप्रयोग निम्नलिखित हैं -
- यह रनटाइम पर विशेषता जानकारी देखने की अनुमति देता है।
- यह असेंबली में विभिन्न प्रकारों की जांच करने और इन प्रकारों को तत्काल करने की अनुमति देता है।
- यह विधियों और गुणों के लिए देर से बाध्यकारी की अनुमति देता है
- यह रनटाइम पर नए प्रकार बनाने की अनुमति देता है और फिर उन प्रकारों का उपयोग करके कुछ कार्य करता है।
System.Reflection नेमस्पेस में ऐसी कक्षाएं हैं जो आपको एप्लिकेशन के बारे में जानकारी प्राप्त करने और एप्लिकेशन में गतिशील रूप से प्रकार, मान और ऑब्जेक्ट जोड़ने की अनुमति देती हैं।
आइए एक उदाहरण भी देखें।
नीचे हमने टारगेट क्लास का ऑब्जेक्ट सेट किया है -
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 { 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(); } } }
आउटपुट
HelpAttribute