C# में नेस्टेड क्लास (Nested Class) वह क्लास होती है जिसे दूसरी क्लास के अंदर घोषित किया जाता है। यह अपनी एनक्लोज़िंग (बाहरी) क्लास का सदस्य होती है। नेस्टेड क्लास बाहरी क्लास के प्राइवेट मेंबर्स तक पहुंच सकती है, लेकिन बाहरी क्लास स्वचालित रूप से नेस्टेड क्लास के मेंबर्स तक नहीं पहुंच सकती।
उदाहरण
class One
{
public int num1;
public class Two
{
public int num2;
}
}
class Demo
{
static void Main()
{
One a = new One();
a.num1++;
One.Two ab = new One.Two();
ab.num2++;
}
}
व्याख्या
class Twoclass Oneके अंदर घोषित है, इसलिए यह नेस्टेड क्लास है।- इसे
One.Twoसिंटैक्स से बाहर से एक्सेस किया जा सकता है (यदिpublicहो)। - नेस्टेड क्लास बाहरी क्लास के
privateमेंबर्स तक पहुंच सकती है। - यह कोड संगठन, एनकैप्सुलेशन, और जटिल डेटा संरचनाओं के लिए उपयोगी है।
उपयोग के मामले
- क्लोज़ली रिलेटेड क्लासेस को ग्रुप करना।
- बाहरी क्लास के प्राइवेट डेटा तक पहुंच प्रदान करना।
- कलेक्शन क्लासेस में नोड/एंट्री क्लासेस के लिए (जैसे
LinkedList<T>.Node)।