सबसे पहले, यह उपयोगी है जब आपके पास प्रश्न हैं जो वास्तव में संकलित कोड पोस्ट करते हैं। किसी समस्या का विश्लेषण करना मुश्किल है जब यह अनुपलब्ध संशोधक और टाइपोज से भरा हुआ है; यह जानना मुश्किल है कि समस्या टाइपो है या नहीं।
एक बार जब हम आपके प्रोग्राम को ठीक करने के लिए काम करते हैं तो यह वास्तव में संकलित करता है, संकलक एक चेतावनी उत्सर्जित करता है जो आपको बताता है कि ओवरलोडिंग गलत लगती है। चूंकि आपका प्रश्न है "ओवरलोडिंग गलत क्यों है?" यह संकलक चेतावनी को पढ़ने के लिए शायद एक अच्छा विचार होगा कि हमने ठीक से उत्सर्जित किया ताकि आप इस समस्या का विश्लेषण कर सकें।
समस्या व्युत्पन्न वर्ग एक नई विधि "नाम" कहा जाता है, एक ओवरराइड मौजूदा पद्धति की नहीं होता है, जो है। यही चेतावनी आपको बताने की कोशिश कर रही है।
इस समस्या को ठीक करने के दो तरीके हैं, इस पर निर्भर करते हुए कि इरादा "नया" या "ओवरराइड" होने का तरीका है। यदि आप "ओवरराइड" होने का तरीका चाहते हैं तो आधार कार्यान्वयन वर्चुअल और व्युत्पन्न कार्यान्वयन ओवरराइड करें।
आप विधि 'नई' हो सकता है और लिए आप अभी भी नई विधि इंटरफेस कार्यान्वयन के लिए बाध्य बदलना चाहते हैं तो इंटरफ़ेस reimplementation का उपयोग इरादा हैं:
class SpecialContainer: FuzzyContainer, IContainer
{
public new string Name()
{
return base.Name() + " Special Container";
}
}
सूचना 'नई' और तथ्य यह है कि हमारे पास फिर से कहा गया है कि यह वर्ग आईसीओन्टैनर लागू करता है। यह संकलक को बताता है "बेस क्लास से निकाले गए आईकॉन्टेनर के तरीकों से बाइंडिंग को नजरअंदाज करें और शुरू करें।"
स्रोत
2010-04-30 18:11:27
यह कोड संकलित नहीं है .. और अभी भी नया स्पेशलकॉन्टर को विशेषकंटर में बदलने के बाद भी नहीं। –
यह मानना नहीं है कि कोड को सिंटैक्टिक रूप से सही किया गया है, उदाहरण के लिए कोड – IaCoder