嵌套类型(C# 编程指南)
class Container
{
class Nested
{
Nested() { }
}
}
无论该外部类型是类或结构,嵌套类型默认为 专用,但是,可以设置 公共, protected internal, 保护、 内部或 专用。 在上面的示例中,Nested 对外部类型是不可访问的,但可以设置为 public,如下所示:
class Container
{
public class Nested
{
Nested() { }
}
}
嵌套类型(或内部类型)可访问包含类型(或外部类型)。 若要访问包含类型,请将其作为构造函数传递给嵌套类型。 例如:
public class Container
{
public class Nested
{
private Container parent;
public Nested()
{
}
public Nested(Container parent)
{
this.parent = parent;
}
}
}
嵌套类型可访问包含类型的私有成员和受保护的成员(包括所有继承的私有成员或受保护的成员)。
在前面的声明中,类 Nested 的完整名称为 Container.Nested。 这是用来创建嵌套类的新实例的名称,如下所示:
Container.Nested nest = new Container.Nested();