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