मुझे क्या करना चाहते हैं कुछ इस तरह है:सी # प्रतिबिंब: एक Nullable <int> के प्रकार कैसे प्राप्त करें?
switch(myObject.GetType().GetProperty("id"))
{
case ??:
// when Nullable<Int32>, do this
case ??:
// when string, do this
case ??:
// when Nullable<bool>, do this
object.GetType के तहत क्या पथ() डेटाप्रकार है कि मैं एक मामले कथन का उपयोग की तुलना कर सकते की स्ट्रिंग नाम होता है? मुझे इस प्रकार को जानने की ज़रूरत है, इसलिए मेरे पास कई कनवर्ट्स में से एक हो सकता है। ToInt32 (स्ट्रिंग) जो प्रतिबिंब का उपयोग करके myObject का मान सेट करेगा।
यह लगभग निश्चित रूप से गलत काम कर रहा है। एक विशाल स्विच स्टेटमेंट का उपयोग करने के बजाय, आप पॉलिमॉर्फिज्म का लाभ क्यों नहीं ले सकते? –
यदि आप विभिन्न पैरामीटर प्रकारों के साथ कई फ़ंक्शन बनाने का सुझाव दे रहे हैं, तो मैं कर सकता था। इस मामले में, मैं एक ऑब्जेक्ट से दूसरे ऑब्जेक्ट्स के विभिन्न प्रकारों के गुणों की एक प्रतिलिपि बना रहा हूं जहां एक हमेशा एक स्ट्रिंग प्रकार होता है। इसलिए, मुझे इसे असाइन करने के लिए मान को परिवर्तित करने की आवश्यकता है। प्रतिबिंब के साथ और मुझे बहुत कम अनुभव है। –
@ कोडीग्रे वह प्रतिबिंब के संबंध में कुछ कर रहा है, अपने स्वयं के ओआरएम लिखते हुए कहें। या इन सभी डीएओ के लिए एक कस्टम धारावाहिक लिखना, आप कभी नहीं जानते। – nawfal