Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> C#

सी # में प्रतिबिंब

परावर्तन वस्तुओं का उपयोग रनटाइम पर प्रकार की जानकारी प्राप्त करने के लिए किया जाता है। एक चल रहे प्रोग्राम के मेटाडेटा तक पहुँच प्रदान करने वाली कक्षाएं 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();
      }
   }
}

  1. जावास्क्रिप्ट में किसी अन्य बिंदु के सापेक्ष एक बिंदु का प्रतिबिंब ढूँढना

    समरूपता का बिंदु बिंदु परावर्तन या बिंदु समरूपता ज्यामिति में एक मूल अवधारणा है जहां एक दिया गया बिंदु, P, एक मध्य बिंदु के सापेक्ष किसी दिए गए स्थान पर, Q का एक समान बिंदु, P1 होता है, जो Q से समान दूरी पर होता है, लेकिन विपरीत में दिशा। समस्या हमें एक जावास्क्रिप्ट फ़ंक्शन लिखना है जो दो ऑब्जेक्

  1. C++ . में रेखा परावर्तन

    मान लीजिए कि हमारे पास 2D तल पर n बिंदु हैं, हमें यह जांचना है कि क्या y-अक्ष के समानांतर कोई रेखा है जो दिए गए बिंदुओं को सममित रूप से दर्शाती है, दूसरे शब्दों में, जांचें कि क्या कोई ऐसी रेखा मौजूद है जो दी गई रेखा पर सभी बिंदुओं को प्रतिबिंबित करने के बाद मूल बिंदुओं का सेट वही होता है जो प्रतिबि

  1. C++ . में मिरर रिफ्लेक्शन

    मान लीजिए कि चार दीवारों में से प्रत्येक पर दर्पणों के साथ एक विशेष वर्गाकार कमरा है। दक्षिण-पश्चिम कोने को छोड़कर प्रत्येक कोने में रिसेप्टर्स होते हैं। इन्हें 0, 1, और 2 के रूप में गिना जाता है। अब वर्गाकार कमरे में लंबाई p की दीवारें हैं, और दक्षिण-पश्चिम कोने से एक लेज़र किरण पहले 0 वें रिसेप्टर