मैं कक्षाओं का एक सेट बनाने की कोशिश कर रहा हूं जहां एक आम पूर्वज विभिन्न गुणों को स्थापित करने में शामिल सभी तर्कों के लिए ज़िम्मेदार है, और वंशज केवल संपत्तियों की पहुंच को बदलते हैं या नहीं वे विशेष वंशज में आवश्यक हैं।किसी संपत्ति के एक्सेस संशोधक को कैसे बढ़ाएं
जब मैं नीचे मैं एक संकलक त्रुटि मिलती दिखाया के रूप में यह करने की कोशिश:
"जब अधिभावी 'सुरक्षित' सदस्य विरासत में मिला पहुँच संशोधक नहीं बदल सकते हैं" वहाँ है कि मैं क्या करने के लिए कोशिश कर रहा हूँ प्राप्त करने के लिए एक रास्ता है कर? धन्यवाद
public class Parent
{
private int _propertyOne;
private int _propertyTwo;
protected virtual int PropertyOne
{
get { return _propertyOne; }
set { _propertyOne = value; }
}
protected virtual int PropertyTwo
{
get { return _propertyTwo; }
set { _propertyTwo = value; }
}
}
public class ChildOne : Parent
{
public override int PropertyOne // Compiler Error CS0507
{
get { return base.PropertyOne; }
set { base.PropertyOne = value; }
}
// PropertyTwo is not available to users of ChildOne
}
public class ChildTwo : Parent
{
// PropertyOne is not available to users of ChildTwo
public override int PropertyTwo // Compiler Error CS0507
{
get { return base.PropertyTwo; }
set { base.PropertyTwo = value; }
}
}
ओओपीएस .. सेकेंड तेज़ :) .. वैसे भी नया उपयोग ओवरराइड जैसा नहीं है; नया माता-पिता सदस्य को छुपाता है और इस तरह यह अब पॉलिमॉर्फिज्म नहीं है। – Galilyou
@ जोसे, धन्यवाद जो मुझे चाहिए। – WileCau