"MyBase" and "MyClass" Usage in VB.NET -


किस परिदृश्य में कोई MyBase और MyClass कीवर्ड का उपयोग करेगा VB.NET?

MyBase उपयोग किया जाता है जब एक आभासी फ़ंक्शन को उसके अभिभावक के संस्करण को कॉल करने की आवश्यकता होती है उदाहरण के लिए, पर विचार करें:

  वर्ग बटन सार्वजनिक ओवर्रिडिव सब पेंट () 'यहाँ पेंट बटन 'एंड सब एंड क्लास बटन बटन के साथफैंसीबैनर इनहेरिट्स बटन पब्लिक ओवरराइड सब पेंट ()' सबसे पहले, बटन को पेंट करें 'MyBase.Paint ()' अब, बैनर रंगो। ... 'एंड सब् इन्ड क्लास  

(यह आधार सी # में है।)


MyClass शायद ही कभी कम ही उपयोग किया जाता है यह स्वयं वर्ग की विधि को कॉल करता है, भले ही यह आमतौर पर व्युत्पन्न वर्ग की आभासी विधि को कॉल करे। दूसरे शब्दों में, यह आभासी पद्धति को डिस्पेंड करता है और इसके बजाय एक स्थैतिक कॉल करता है।

यह एक अनुचित उदाहरण है। मैं अब वास्तविक दुनिया के उपयोग का पता लगाने के लिए कड़ी मेहनत कर रहा हूं (यद्यपि यह निश्चित रूप से मौजूद है):

  कक्षा आधार सार्वजनिक ओवर्रिडिव सब प्रिंटनाम () कंसोल.प्रकाशलाइन ("मैं बेस हूँ") अंत उप लोक उप सचमुच प्रिंट मेरा नाम () MyClass.PrintName () समापन उप अंत कक्षा कक्षा में प्राप्त जनसंपर्क उपशीर्षक उप प्रिंटनाम () Console.WriteLine ("मुझे प्राप्त होता है") अंत उप अंत कक्षा '... उपयोग:' मंद ब बेस = नया व्युत्पन्न () b.PrintName () 'प्रिंट्स' मैं प्राप्त होता हूं '' b.ReallyPrintMyName () 'प्रिंट्स "मैं बेस हूँ' ' 

(यह मौजूद नहीं है आईएल में, यह सामान्य callvirt opcode के बजाय एक कॉल जारी करता है।)


Comments