मुझे this question में वर्णित एक आंतरिक गेटर और संरक्षित सेटटर रखने की संपत्ति की समस्या हो रही थी, और मैंने सोचा कि मैंने हल किया है कि निम्नलिखित कार्य करके:सी # आंतरिक गेटर, एक आंतरिक वर्ग पैरामीटर के साथ संरक्षित सेटटर
public class Accessor : AccessorBase
{
private Connection _connection;
protected void setConnection(Connection value)
{
_connection = value;
}
internal Connection GetConnection()
{
return _connection;
}
...
}
हालांकि, मैं अब इस त्रुटि हो रही है:
Inconsistent accessibility: parameter type 'Connection' is less accessible than method 'setConnection(Connection)'
इसका कारण यह है कि मैं internal class Connection
है। मैं Connection
सार्वजनिक कक्षा नहीं बनाऊंगा, जबकि Accessor
को सार्वजनिक होने के लिए की आवश्यकता है, तो मैं आंतरिक त्रुटि और संरक्षित सेटटर को बनाए रखने के दौरान इस त्रुटि को कैसे प्राप्त कर सकता हूं?
+1। .NET BCL में आप कभी-कभी किसी भी तरीके के बिना कक्षाएं देखते हैं: सब कुछ निजी या आंतरिक है। – Abel
बस इस दीवार को मारा। यह एक पकड़ 22 है ... आप या तो अपनी आंतरिक कक्षाओं की दृश्यता की अनुमति देते हैं [लेकिन अन्यथा बाहरी दुनिया में खाली] या अन्य आंतरिक वर्गों को केवल कुछ व्युत्पन्न कक्षाओं को सेट करने की अनुमति देता है ... humnnnn ... –