Here is the code,
There is a compiler error "ConsoleApplication1.A.B' is inaccessible due to its protection level". Why? I thought by default, A.B is internal. So it should be able to be accessed by function Main.Code:namespace ConsoleApplication1 { class A { public A() { } class B { public B() { A a = new A(); } }; }; class Program { static void Main(string[] args) { A.B b = new A.B(); } } }