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

सी # में गतिशील रूप से संपत्ति मूल्य कैसे प्राप्त करें?

हम एक संपत्ति मूल्य को गतिशील रूप से लाने के लिए परावर्तन का उपयोग कर सकते हैं।

प्रतिबिंब वस्तुओं (प्रकार के प्रकार) प्रदान करता है जो असेंबली, मॉड्यूल और प्रकारों का वर्णन करता है। हम प्रतिबिंब का उपयोग गतिशील रूप से एक प्रकार का उदाहरण बनाने के लिए कर सकते हैं, प्रकार को किसी मौजूदा वस्तु से बाँध सकते हैं, या किसी मौजूदा वस्तु से प्रकार प्राप्त कर सकते हैं और इसके तरीकों को लागू कर सकते हैं या इसके क्षेत्रों और गुणों तक पहुँच सकते हैं। यदि हम अपने कोड में विशेषताओं का उपयोग करते हैं, तो प्रतिबिंब हमें उन तक पहुंचने में सक्षम बनाता है।

System.Reflection नाम स्थान और System.Type वर्ग .NET प्रतिबिंब में एक महत्वपूर्ण भूमिका निभाते हैं। ये दोनों एक साथ काम करते हैं और हमें एक प्रकार के कई अन्य पहलुओं पर विचार करने की अनुमति देते हैं।

उदाहरण

using System;
using System.Text;
   namespace DemoApplication {
      public class Program {
         static void Main(string[] args) {
            var employeeType = typeof(Employee);
            var employee = Activator.CreateInstance(employeeType);
            SetPropertyValue(employeeType, "EmployeeId", employee, 1);
            SetPropertyValue(employeeType, "EmployeeName", employee, "Mark");
            GetPropertyValue(employeeType, "EmployeeId", employee);
            GetPropertyValue(employeeType, "EmployeeName", employee);
            Console.ReadLine();
         }
         static void SetPropertyValue(Type type, string propertyName, object instanceObject, object value) {
            type.GetProperty(propertyName).SetValue(instanceObject, value);
         }
         static void GetPropertyValue(Type type, string propertyName, object instanceObject) {
            Console.WriteLine($"Value of Property {propertyName}:                   {type.GetProperty(propertyName).GetValue(instanceObject, null)}");
         }
      }
      public class Employee {
         public int EmployeeId { get; set; }
         public string EmployeeName { get; set; }
      }
   }

आउटपुट

उपरोक्त कोड का आउटपुट है

Value of Property EmployeeId: 1
Value of Property EmployeeName: Mark

उपरोक्त उदाहरण में हम देख सकते हैं कि कर्मचारी गुण मान प्रकार और संपत्ति का नाम प्राप्त करके प्रतिबिंब का उपयोग करके सेट किए जाते हैं। इसी प्रकार संपत्ति मूल्य प्राप्त करने के लिए हमने GetProperty() . का उपयोग किया है प्रतिबिंब वर्ग की विधि। इसका उपयोग करके हम रनटाइम के दौरान किसी भी संपत्ति का मूल्य प्राप्त कर सकते हैं।


  1. जावास्क्रिप्ट में किसी लिंक के प्रकार विशेषता का मान कैसे खोजें?

    जावास्क्रिप्ट में किसी लिंक के प्रकार विशेषता का मान खोजने के लिए, प्रकार गुण का उपयोग करें। प्रकार विशेषता का मान प्राप्त करने के लिए आप निम्न कोड चलाने का प्रयास कर सकते हैं। उदाहरण <!DOCTYPE html> <html>    <body>       <p><a id = "qriesid&

  1. जावास्क्रिप्ट में एक सीएसएस संपत्ति का वर्तमान मूल्य कैसे प्राप्त करें?

    GetComputedStyle () विधि एक वस्तु देती है जिसमें लक्ष्य तत्व पर लागू सभी शैलियाँ शामिल होती हैं। उदाहरण निम्नलिखित उदाहरण बताते हैं कि कैसे हम जावास्क्रिप्ट का उपयोग करके सीएसएस चर प्राप्त कर सकते हैं और सेट कर सकते हैं। <!DOCTYPE html> <html> <head> <style> div {   &nb

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

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