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