C# 类教程-类成员:嵌套类型

  • C# 类教程-类
  • C# 类教程-类成员:字段(域)、属性、索引
  • C# 类教程-类成员:方法、事件
  • C# 类教程-类成员:运算符重载与索引器
  • C# 类教程-类成员:构造函数和析构函数
  • C# 类教程-类成员:嵌套类型
  • C# 类教程-访问修饰符与可访问性级别
  • C# 类教程-继承
  • C# 类教程-继承:方法重载
  • C# 类教程-继承:隐藏(new)
  • C# 类教程-继承:重写(virtual 与 override)
  • C# 类教程-继承:抽象(abstract)
  • C# 类教程-多态性

在类或结构内部定义的类型称为嵌套类型。例如:

class Container
{
    class Nested
    {
        Nested() { }
    }
}

不管外部类型是类还是结构,嵌套类型均默认为 private,但是可以设置为 public、protected internal、protected、internal 或 private。在上面的示例中,Nested 对外部类型是不可访问的,但可以设置为 public,如下所示:

class Container
{
    public class Nested
    {
        Nested() { }
    }
}

嵌套类型(或内部类型)可访问包含类型(或外部类型)。若要访问包含类型,请将其作为构造函数传递给嵌套类型。例如:

public class Container
{
    public class Nested
    {
        private Container m_parent;

        public Nested()
        {
        }
        public Nested(Container parent)
        {
            m_parent = parent;
        }
    }
}

嵌套类型可访问包含类型的私有成员和受保护的成员(包括所有继承的私有成员或受保护的成员)。

在前面的声明中,类 Nested 的完整名称为 Container.Nested。这是用来创建嵌套类的新实例的名称,如下所示:

Container.Nested nest = new Container.Nested();
  • C# 类教程-类
  • C# 类教程-类成员:字段(域)、属性、索引
  • C# 类教程-类成员:方法、事件
  • C# 类教程-类成员:运算符重载与索引器
  • C# 类教程-类成员:构造函数和析构函数
  • C# 类教程-类成员:嵌套类型
  • C# 类教程-访问修饰符与可访问性级别
  • C# 类教程-继承
  • C# 类教程-继承:方法重载
  • C# 类教程-继承:隐藏(new)
  • C# 类教程-继承:重写(virtual 与 override)
  • C# 类教程-继承:抽象(abstract)
  • C# 类教程-多态性

你可能感兴趣的