का उपयोग तुम हमेशा सिर्फ प्रकार ऑब्जेक्ट का परम कर सकते हैं, कि क्या संकलक कर रही है है। जब आप एक पैरामीटर गतिशील टाइप करते हैं तो इसका मतलब केवल उस विधि के भीतर होता है, केवल यह पैरामीटर के सभी उपयोगों के लिए गतिशील चाल का उपयोग कर रहा है, लेकिन इसके बाहर टाइप ऑब्जेक्ट का केवल एक हस्ताक्षर है। आपके डायनामिक ऑब्जेक्ट का एक अधिक शक्तिशाली उपयोग आपके द्वारा बुलाए जाने वाले तरीके के अधिभार के लिए होगा, इसलिए यदि आप अपना उदाहरण वही रखते हैं और केवल दो ओवरलोड हैं तो यह रनटाइम प्रकार के आधार पर दो विधियों में से एक को कॉल करेगा, और आप हमेशा अधिक प्रकार के लिए और जोड़ें।
public void Main() {
dynamic dynamicObject = 33;
if(true) { // Arbitrary logic
dynamicObject = null;
}
Method(dynamicObject);
}
public void Method(int param) {
//don't have to check check null
//only called if dynamicObject is an int
}
public void Method(object param) {
// will be called if dynamicObject is not an int or null
}
+1 निश्चित रूप से। आप 'ऑब्जेक्ट' खो सकते हैं, हालांकि – Ani
@ एनी सुनिश्चित नहीं है कि आप वहां क्या प्राप्त कर रहे हैं। – JaredPar
आप केवल 'संदर्भ एक्वाल्स (शून्य, परम)' लिख सकते हैं। मैं इस विषय पर ~ 5 प्रश्नों से विश्वास नहीं कर सकता हूं, इसलिए इसे हल नहीं किया। –