के क्षेत्र तक पहुंचने से आंतरिक कक्षा के किसी ऑब्जेक्ट के संदर्भ में, मैं बाहरी वर्ग के क्षेत्र तक कैसे पहुंच सकता हूं?बाहरी वर्ग
class Outer
{
int field;
class Inner
{
void method(Inner parameter)
{
// working on the current instance is easy :)
field = 0;
Outer.this.field = 1;
// working on another instance is hard :(
parameter.field = 2; // does not compile
parameter.Outer.this.field = 3; // does not compile
parameter.outer().field = 4; // This works...
}
// ...but I really don't want to have to write this method!
Outer outer()
{
return Outer.this;
}
}
}
मैंने Outer.parameter.field
और कई अन्य रूपों का भी प्रयास किया। क्या कोई वाक्यविन्यास है जो मैं चाहता हूं?
करने के लिए सिर्फ इसकी बाहरी वर्ग के अंदर इस्तेमाल किया गया एक आंतरिक वर्ग के उद्देश्य नहीं है? – Heisenbug
मुझे लगता है कि ऐसा करने का तरीका है। अगर आपको लगता है कि यह गलत है तो आप उन वर्गों को अलग-अलग रीफैक्टरिंग या बिल्डिंग के बारे में सोच सकते हैं? – Luciano
मुझे ऐसा करने के किसी अन्य तरीके से नहीं पता, लेकिन मैं कहूंगा कि अगर आपको इस तरह के अनुपात करना पड़ता है, तो आमतौर पर इसका मतलब है कि आपको डिज़ाइन पर पुनर्विचार करना चाहिए। –