generics - Inheritance in C# - simple question -
डुप्लिकेट
यहाँ मेरा कोड है :
सार्वजनिक वर्ग बेस {सुरक्षित बाइंडिंग सूची & lt; नमूनाबेस & gt; m_samples; सार्वजनिक आधार () {}} सार्वजनिक श्रेणी तैयार की गई: बेस {सार्वजनिक व्युत्पन्न () {m_samples = नया बाइंडिंग सूची & lt; नमूना डीरिवेट & gt; (); }}
नमूना हटाया गया नमूनाबेस से लिया गया है
विरासत तर्क के अनुसार, मुझे ऐसा करने में सक्षम होना चाहिए। हालांकि, यह संकलन नहीं करता है - त्रुटि कहती है कि नमूनाबैब को सम्मिलित रूप से नमूनाकृत प्रकार में परिवर्तित नहीं किया जा सकता। क्या करता है?
मैं सी # 2.0 का उपयोग कर रहा हूं
आप उपयोग करने का प्रयास कर रहे हैं सहवर्ती, जो सी # 3.0 और इससे पहले समर्थित नहीं है (लेकिन सी # 4.0 में होगा) आप अब भी नमूना हटाए गए
में m_samples
वस्तुओं की ऑब्जेक्ट जोड़ सकते हैं, लेकिन सूची के सामान्य प्रकार को SampleBase
होना चाहिए।
संपादित करें: तो पावेल सही है, सी # 4.0 वास्तव में इसके साथ मदद नहीं करता है। यदि m_sample
को IBindingList & lt; SampleBase & gt;
का उपयोग (काल्पनिक) सहृदय अंतरफलक IBindingList & lt; out T & gt;
के रूप में परिभाषित किया गया था।
Comments
Post a Comment