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

सी # में प्रतिबिंब का उपयोग करके स्ट्रिंग मान के साथ अलग-अलग डेटाटाइप वाली संपत्ति कैसे सेट करें?

प्रतिबिंब तब होता है जब प्रबंधित कोड असेंबली खोजने के लिए अपना मेटाडेटा पढ़ सकता है। अनिवार्य रूप से, यह कोड को उसी सिस्टम के भीतर अन्य कोड का निरीक्षण करने की अनुमति देता है। सी # में प्रतिबिंब के साथ, हम गतिशील रूप से एक प्रकार का उदाहरण बना सकते हैं और उस प्रकार को मौजूदा ऑब्जेक्ट से बांध सकते हैं। इसके अलावा, हम किसी मौजूदा वस्तु से प्रकार प्राप्त कर सकते हैं और इसके गुणों तक पहुंच सकते हैं। जब हम अपने कोड में विशेषताओं का उपयोग करते हैं, तो प्रतिबिंब हमें एक्सेस देता है क्योंकि यह मॉड्यूल, असेंबली और प्रकारों का वर्णन करने वाले प्रकार की वस्तुएं प्रदान करता है।

मान लें कि हमारे पास डबल प्रकार की संपत्ति है और रनटाइम में हमारे पास वास्तव में स्ट्रिंग के रूप में मान है और इसे प्रकार बदलने के बाद संपत्ति को असाइन करें। हम उपयोग कर सकते हैं Convert.ChangeType() - यह हमें प्रतिनिधित्व स्वरूपों को बदलने के लिए किसी भी IConvertible प्रकार पर रनटाइम जानकारी का उपयोग करने की अनुमति देता है।

उदाहरण

using System;
using System.Reflection;
namespace DemoApplication{
   class Program{
      static void Main(){
         Circle circle = new Circle();
         string value = "6.5";
         PropertyInfo propertyInfo = circle.GetType().GetProperty("Radius");
         propertyInfo.SetValue(circle, Convert.ChangeType(value,
         propertyInfo.PropertyType), null);
         var radius = circle.GetType().GetProperty("Radius").GetValue(circle, null);
         Console.WriteLine($"Radius: {radius}");
         Console.ReadLine();
      }
   }
   class Circle{
      public double Radius { get; set; }
   }
}

आउटपुट

Radius: 6.5

उपरोक्त उदाहरण में हम देख सकते हैं कि स्ट्रिंग मान "6.5" को Convert.ChangeType का उपयोग करके वास्तविक टाइपडबल में बदल दिया गया है और प्रतिबिंब इनरनटाइम का उपयोग करके त्रिज्या संपत्ति को सौंपा गया है।


  1. मूल्य के साथ मार्जिन संपत्ति की भूमिका सीएसएस का उपयोग करके विरासत में मिली है

    मान इनहेरिट वाली मार्जिन प्रॉपर्टी का उपयोग मूल तत्व से किसी तत्व को इनहेरिट करने के लिए किया जाता है। मार्जिन:इनहेरिट; . को लागू करने के लिए आप निम्न कोड चलाने का प्रयास कर सकते हैं उदाहरण <!DOCTYPE html> <html>    <head>       <style>    

  1. टिंकर स्पिनबॉक्स पर डिफ़ॉल्ट स्ट्रिंग मान कैसे सेट करें?

    टिंकर स्पिनबॉक्स पर डिफ़ॉल्ट स्ट्रिंग मान सेट करने के लिए, हमें सेट . का उपयोग करना होगा तरीका। आइए एक उदाहरण लें और देखें कि स्ट्रिंग मानों के एक सेट के साथ एक स्पिनबॉक्स कैसे बनाया जाए और फिर एक डिफ़ॉल्ट स्ट्रिंग सेट करें। कदम - टिंकर लाइब्रेरी इंपोर्ट करें और टिंकर फ्रेम का इंस्टेंस बनाएं।

  1. रेडिस प्रकार - कुंजी में मूल्य स्टोर का डेटाटाइप कैसे प्राप्त करें

    इस ट्यूटोरियल में, हम सीखेंगे कि की में वैल्यू स्टोर का डेटाटाइप कैसे प्राप्त करें। रेडिस डेटास्टोर में मान अलग-अलग डेटाटाइप के हो सकते हैं जैसे स्ट्रिंग, लिस्ट, सेट, सॉर्टेड सेट आदि। डेटा प्रकार का मान प्राप्त करने के लिए, हम COMMAND का उपयोग करेंगे - TYPE रेडिस-क्ली में। रेडिस TYPE कमांड का सिंटैक