How to initialize a derived class in C#? -
मैं एक आधार वर्ग है:
सार्वजनिक वर्ग प्रोसेसर {ParsedString _parsedMessage; यूटीलीजैडर _्यूटिलीजैडोर; सार्वजनिक प्रोसेसर (पर्सेडस्ट्रिंग पार्सेड मेसेज, यूटीलीजादोर यूविसिज़ाॉर) {_parsedMessage = parsedMessage; _utilizador = utilizador; } सार्वजनिक वर्चुअल स्ट्रिंग एक्जिक्यूट () {string result = null; वापसी परिणाम; }}
तो एक व्युत्पन्न वर्ग
सार्वजनिक वर्ग RegistarAnuncio: प्रोसेसर {सार्वजनिक RegistarAnuncio (ParsedString parsedMessage, Utilizador utilizador) {}}
< / पूर्व>और संकलक कह एक त्रुटि दे रहा है:
त्रुटि 9 विधि 'प्रोसेसर' के लिए कोई अधिभार लेता है '0' तर्क C: \ दस्तावेज़ और सेटिंग्स \ उपयोगकर्ता \ My Documents \ projectos \ Licenciatura \ Prototipo \ Agrinfo \ AgrinfoLib \ इंटरफेस \ एसएमएस \ प्रोसेसर \ RegistarAnuncio.cs 11 16 AgrinfoLib
मैं सी # संदर्भ के लिए googled लेकिन मैं एक कोड उदाहरण है जहां लोगों को तर्क के साथ एक आधार वर्ग विधि प्रारंभ नहीं पाया था, कोई मुझे मदद दे सकता है।
सादर,
आप इसका उपयोग करना चाहते हैं बेस कंसट्रक्टर को कॉल करने के लिए वाक्यविन्यास:
पब्लिक क्लास रजिस्ट्रारअनुनोसियो: प्रोसेसर {सार्वजनिक रजिस्ट्रारअनुनोसियो (पर्सेडस्ट्रिंग पर्सेड मेसेज, यूटीलीजादोर यूज़िज़ैडोडोर): बेस (पर्सेड मेसेज, यूटिज़ैडोर) {}}
मेरे पास एक है जो अधिक विस्तार में जाता है। बहुत संक्षेप में:
- आप
आधार (तर्क)
याइस (तर्क) का उपयोग कर सकते
- पहले संस्करण कॉल एक आधार वर्ग निर्माता, दूसरी कॉलर एक ही कक्षा में दूसरे कन्स्ट्रक्टर - अगर आप कुछ भी निर्दिष्ट नहीं करते हैं, तो यह
base ()
- होने के जैसा है, आप कन्स्ट्रक्टर नहीं बना सकते परिपत्र (यानी एक निर्माता बुला एक और जो पहले कॉल)
- आप कर सकते हैं केवल एक ही निर्माता (लेकिन एक और है कि एक मई श्रृंखला)
- के लिए श्रृंखला निर्माता कॉल तुरंत से पहले होता है कॉल
" यह
" के लिए एक सामान्य उपयोग डिफ़ॉल्ट मानों का उपयोग करना है। उदाहरण के लिए:
const स्ट्रिंग DefaultFirstValue = "fred"; Const int DefaultSecondValue = 20; सार्वजनिक फू (स्ट्रिंग प्रथम वैल्यू, इंट सेकंड वैल्यू) {this.firstValue = firstValue; This.secondValue = secondValue; } सार्वजनिक Foo (स्ट्रिंग प्रथम वैल्यू): यह (प्रथम वैल्यू, डिफॉल्टसेकंडवैल्यू) {} सार्वजनिक फ़ू (इंट सेकेंड वैल्यू): यह (डिफ़ॉल्टफ़्स्ट वैल्यू, सेकंड वैल्यू) {} सार्वजनिक फ़ू (): यह (डिफ़ॉल्टफ़्स्ट वैल्यू, डिफॉल्टसेकंडवैल्यू) {}
सी # 4 के साथ, यह कम उपयोगी होगा क्योंकि वैकल्पिक पैरामीटर और नामित तर्क होंगे। आप फिर भी ऐसे भाषाओं के लिए अधिभार प्रदान करना चाह सकते हैं जो निश्चित रूप से उन सुविधाओं का समर्थन नहीं करते हैं।
Comments
Post a Comment