class Container { class Nested { Nested() { } } }
namespace ConsoleApplication11Anonymous { class Class1 { private int x; protected string str; static int y; public class Nested { int xx; string ss; void print() { //int y = x; //error,不能访问外部的非静态成员 int z = y; //OK ,可以访问外部的静态成员 } public Nested(Class1 A) { xx = A.x; //通过外部类的实例来访问外部类私有成员 ss = A.str; //通过外部类的实例来访问外部类保护成员 } } } class Program { static void Main(string[] args) { Class1 X = new Class1(); Class1.Nested CN = new Class1.Nested( X ); } } }
原文:http://blog.csdn.net/ddupd/article/details/21905573