unable to access nested class outside class

I know that its not a good practice to nest a class inside another class, but following is just for fun.

I have the following code

namespace PlayIt
{
    class Class1
    {
        class Class2 : Class1
        {
        }
    }

    class SomeOtherClass
    {
        Class1 objClass1 = new Class1();
        Class2 objClass2 = new Class2();
    }
}

I am able to create the object of class1 but not of class2, Why So? Is there any way to access the class2 outside the class1

Jon Skeet
people
quotationmark

I am able to create the object of class1 but not of class2, Why So?

Two reasons:

Firstly, Class1 is implicitly internal, whereas Class2 is implicitly private (because it's nested).

Secondly, you're trying to use just Class2 in a scope where that has no meaning - you'd need to qualify it. This will work fine:

namespace PlayIt
{
    class Class1
    {
        internal class Class2 : Class1
        {
        }
    }

    class SomeOtherClass
    {
        Class1 objClass1 = new Class1();
        Class1.Class2 objClass2 = new Class1.Class2();
    }
}

people

See more on this question at Stackoverflow