কম্পিউটার

C# এ প্রতিফলন ব্যবহার করে একটি স্ট্রিং মান সহ বিভিন্ন ডেটাটাইপ থাকা একটি সম্পত্তি কীভাবে সেট করবেন?


প্রতিফলন হল যখন পরিচালিত কোড সমাবেশগুলি খুঁজে পেতে তার নিজস্ব মেটাডেটা পড়তে পারে৷ মূলত, এটি কোডকে একই সিস্টেমের মধ্যে অন্যান্য কোড পরিদর্শন করার অনুমতি দেয়৷ C# এ প্রতিফলন না করে, আমরা গতিশীলভাবে একটি প্রকারের একটি উদাহরণ তৈরি করতে পারি এবং সেই টাইপটিকে বিদ্যমান বস্তুর সাথে আবদ্ধ করতে পারি। তাছাড়া, আমরা একটি বিদ্যমান বস্তু থেকে টাইপ পেতে পারি এবং বৈশিষ্ট্যগুলি অ্যাক্সেস করতে পারি। যখন আমরা আমাদের কোডে অ্যাট্রিবিউট ব্যবহার করি, তখন প্রতিফলন আমাদের অ্যাক্সেস দেয় কারণ এটি মডিউল, অ্যাসেম্বলি এবং প্রকারগুলি বর্ণনা করে এমন ধরনের বস্তু প্রদান করে৷

আসুন আমরা বলি যে আমাদের ডবল টাইপের একটি প্রপার্টি আছে এবং রানটাইমে আমাদের আসলে স্ট্রিং হিসাবে মান থাকে এবং টাইপ পরিবর্তন করার পরে এটি প্রপার্টিতে বরাদ্দ করি। আমরা Convert.ChangeType() ব্যবহার করতে পারি - এটি আমাদের প্রতিনিধিত্ব বিন্যাস পরিবর্তন করতে যেকোন আইকনভার্টেবল টাইপের রানটাইম তথ্য ব্যবহার করতে দেয়৷

উদাহরণ

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. সিএসএস ব্যবহার করে মান অটো সহ মার্জিন সম্পত্তির ভূমিকা

  2. CSS ব্যবহার করে ইনহেরিট মান সহ মার্জিন সম্পত্তির ভূমিকা

  3. কিভাবে একটি Tkinter Spinbox এ একটি ডিফল্ট স্ট্রিং মান সেট করবেন?

  4. Redis TYPE - কী-তে ভ্যালু স্টোরের ডেটাটাইপ কীভাবে পাবেন