使用访问修饰符 public、protected、internal 或 private 可以为成员指定以下声明的访问级别之一。
| 声明的可访问性 | 含义 | 
|---|---|
| public | 访问不受限制。 | 
| protected | 访问仅限于包含类或从包含类派生的类型。 | 
| internal | 访问仅限于当前程序集。 | 
| protected internal | 访问仅限于从包含类派生的当前程序集或类型。 | 
| private | 访问仅限于包含类型。 | 
一个成员或类型只能有一个访问修饰符,但使用 protected internal 组合时除外。
命名空间上不允许使用访问修饰符。 命名空间没有访问限制。
根据出现成员声明的上下文,只允许某些声明的可访问性。 如果在成员声明中未指定访问修饰符,则使用默认的可访问性。
不嵌套在其他类型中的顶级类型的可访问性只能是 internal 或 public。 这些类型的默认可访问性是 internal。
嵌套类型是其他类型的成员,它们可以具有下表所示的声明的可访问性。
| 属于 | 默认的成员可访问性 | 该成员允许的声明的可访问性 | 
|---|---|---|
| enum | public | 无 | 
| class | private | public protected internal private protected internal | 
| interface | public | 无 | 
| struct | private | public internal private | 
嵌套类型的可访问性取决于它的可访问域,该域是由已声明的成员可访问性和直接包含类型的可访问域这二者共同确定的。 但是,嵌套类型的可访问域不能超出包含类型的可访问域。
C# 语言规范
有关更多信息,请参见 C# 语言规范。C# 语言规范是 C# 语法和用法的权威资料。