System.RuntimeType
বিমূর্ত বেস বর্গ থেকে উদ্ভূত একটি কংক্রিট বর্গ System.Type
। যেহেতু System.RuntimeType
সর্বজনীন নয়, আপনি সাধারণত এর উদাহরণগুলির মুখোমুখি হবেন System.Type
।
আপনি যখন কোনও অবজেক্টের ধরণ পাওয়ার চেষ্টা করছেন এবং ভুলভাবে GetType()
অন্য কোনও বস্তুকে ডেকে আনুন যখন সরাসরি সেই অবজেক্টটি সরাসরি ব্যবহার না করে প্রথম অবজেক্টের ধরণের প্রতিনিধিত্ব করবেন তখন বিভ্রান্তি দেখা দিতে পারে । তারপরে Type.ToString()
প্রত্যাবর্তিত "System.RuntimeType"
বস্তুটি কোনও প্রকারের প্রতিনিধিত্ব করে যখন ফিরে আসবে :
string str = string.Empty;
Type strType = str.GetType();
Type strTypeType = strType.GetType();
strType.ToString();
strTypeType.ToString();
উদাহরণস্বরূপ, এই ব্লগ পোস্টে কেউ ডাটাবেসে কোনও কলামের ধরণ পাওয়ার চেষ্টা করছেন, এমন কিছু করছেন:
object val = reader.GetFieldType(index);
Type runtimeType = val.GetType();
PropertyInfo propInfo = runtimeType.GetProperty("UnderlyingSystemType");
Type type = (Type)propInfo.GetValue(val, null);
যেহেতু ভ্যাল ইতিমধ্যে একটি টাইপ অবজেক্ট, তাই ভাল.গেটটাইপ () অন্য প্রকারের প্রতিনিধিত্ব করে অন্য ধরণের অবজেক্টকে প্রত্যাবর্তন করবে System.RuntimeTime
কারণ এটি মূল প্রকারের অবজেক্টকে উপস্থাপন করতে ব্যবহৃত কংক্রিট প্রকার। মূল ধরণের অবজেক্টের ধরণের জন্য ব্লগ পোস্টটি তখন কিছু অপ্রয়োজনীয় প্রতিচ্ছবি কৌশল দেখায়, যখন সত্যিকারের যা যা প্রয়োজন ছিল তা হ'ল:
Type type = reader.GetFieldType(index) as Type;
সুতরাং যদি আপনার Type
অবজেক্টটি এটির প্রতিনিধিত্ব করে বলে জানাচ্ছে, তবে System.RuntimeType
নিশ্চিত হয়ে নিন যে আপনি GetType()
ইতিমধ্যে পেয়েছেন এমন কোনও ধরণের ঘটনা ঘটনাক্রমে ঘটেনি।