2010-07-15 16 views

उत्तर

18

नहीं सी # किसी भी संस्करण में इसका समर्थन नहीं करता है। ध्यान दें कि रचनाकार व्युत्पन्न कक्षाओं में विरासत में नहीं हैं, हालांकि उन्हें "जंजीर" कहा जा सकता है। यह शायद आप क्या करना चाहते हैं।

यदि आप यह इंगित करना चाहते हैं कि व्युत्पन्न वर्ग किसी प्रकार की प्रारंभिकता कर रहा है, तो आप एक सार Initialise विधि या ऐसे आधार पर बना सकते हैं जो आधार वर्ग (और उप-वर्ग के परोक्ष रूप से) निर्माण के निर्माता हैं।

एक साइड पॉइंट के रूप में, मुझे यकीन नहीं है कि सीएलआर (या संबंधित सीआईएल भाषा) वास्तव में इसका समर्थन करता है - मुझे संदेह होगा कि यह सी # के भीतर से थोड़ा सा उपयोग नहीं किया जा सकता है।

18

नहीं, एक निर्माता को सार के रूप में चिह्नित नहीं किया जा सकता है। अमूर्त वर्गों में रचनाकारों को आम तौर पर protected के रूप में चिह्नित किया जाता है, कम से कम यही वह है जो मैं आपको करने की सिफारिश करता हूं।

+6

इससे कोई फर्क नहीं पड़ता कि आप उन्हें 'संरक्षित' या सामान्य 'सार्वजनिक' के रूप में चिह्नित करते हैं, क्योंकि वे वैसे भी व्युत्पन्न कक्षाओं में श्रृंखला के माध्यम से पहुंच योग्य हैं! यह कहकर, 'संरक्षित' के रूप में चिह्नित करना संभवतः एक अर्थपूर्ण दृष्टिकोण से समझदार है। – Noldorin

+1

http://msdn.microsoft.com/en-us/library/ms182126(v=vs.100).aspx - आधिकारिक अर्थपूर्ण दृष्टिकोण से समझदार –

2

मूल रूप से नहीं।

यदि इसका सार है, तो आपको इसे एक ठोस बाल वर्ग में ओवरराइड करना होगा, और आप एक कन्स्ट्रक्टर को ओवरराइड नहीं कर सकते हैं, केवल इसे अधिभारित कर सकते हैं।

संबंधित मुद्दे