如何理解 “私有成员只有在声明它们的类和结构体中才是可访问的” ?

  通常私有成员(private)只有在声明它们的类和结构体中才是可访问的,如下类:

1 class A
2 {
3   private int i;
4 }

  只有在A的内部在能访问i,这是众所周知的。

  再看下面的类:

 1 class B
 2 { 
 3   private int i; 
 4    void DoSomeThing() 
 5   {
 6     B b = new B();
 7     int c = b.i; //这里在b的外部也能访问其私有成员i
 8   } 
 9 }

  不要惊讶,查查MSDN,http://msdn.microsoft.com/zh-cn/library/st6sy9xe.aspx ,其中就有 同一体中的嵌套类型也可以访问那些私有成员。