मैं समझने की क्या नीचे कोड में संकलन त्रुटि का कारण बनता है एक समस्या है मुझे लगता है कि foo ऑपरेशन रनटाइम पर हल किया जाएगा, जो ठीक है क्योंकि मैं एक गतिशील प्रकार को एक param के रूप में उपयोग कर रहा हूं। हालांकि मुझे समझ में नहीं आता कि if
स्विच स्विच करते समय ठीक से कैसे संकलित करता है।.NET में अजीब स्विच व्यवहार 4
ऊपर कोड सिर्फ मैं क्या मेरे आवेदन (VSTO) जो VSTO4 को VSTO3 से एप्लिकेशन को पलायन जब VSTO में एक विधि object
के बजाय dynamic
प्रकार मान में बदल गया था के बाद दिखाई दिया में है का संस्करण सरलीकृत है।
क्या कोई मुझे स्पष्टीकरण दे सकता है कि समस्या क्या है। मुझे पता है कि इसे कैसे हल किया जाए लेकिन मैं समझना चाहता हूं कि क्या हो रहा है।
ऐसा लगता है कि आप –
स्विच को डकटाइप नहीं कर सकते हैं क्योंकि प्रत्येक संभावित ऑब्जेक्ट प्रकार – thecoop
के लिए 'स्विच' परिभाषित नहीं किया गया है, हर कोई ऐसा जवाब दे रहा है जैसे सवाल है "मैं गतिशील पर क्यों नहीं बदल सकता '?" मुझे लगता है कि प्रश्न वास्तव में होना चाहिए "पहली जगह 'गतिशील' के रूप में टाइप किया गया 'परीक्षण' क्यों है?" मुझे लगता है कि * अगर * 'foo' अधिभार था जो विभिन्न प्रकारों को लौटाता था, 'test' को' गतिशील 'होना होगा; लेकिन चूंकि यह * नहीं * है, मुझे अभी भी "वास्तविक" प्रश्न का उत्तर देने में परेशानी हो रही है। –