使用访问修饰符public、protected或internalprivate为成员指定以下声明的辅助功能级别之一。
| 声明的辅助功能 | 含义 |
|---|---|
public |
访问不受限制。 |
protected |
访问权限仅限于派生自包含类的包含类或类型。 |
internal |
访问权限仅限于当前程序集。 |
protected internal |
访问权限仅限于从包含类派生的当前程序集或类型。 |
private |
访问权限仅限于包含类型。 |
private protected |
访问权限仅限于从当前程序集中的包含类派生的包含类或类型。 |
顶级(非嵌套)类型可以使用 文件 修饰符。 修饰 file 符限制对同一源文件中的代码的访问。 不能将 file 修饰符与任何访问修饰符合并。
仅对成员或类型使用一个访问修饰符,但使用 protected internal 或 private protected 组合时除外。
不要在命名空间上使用访问修饰符。 命名空间没有任何访问限制。
根据成员声明的发生上下文,只允许某些声明的辅助功能。 如果未在成员声明中指定访问修饰符,则使用默认辅助功能。
顶级类型不能嵌套在其他类型的类型中,只能具有 internal 或 public 可访问性。 这些类型的默认可访问性为 internal。
嵌套类型(属于其他类型的成员)可以声明辅助功能,如下表所示。
| 成员 | 默认成员辅助功能 | 成员的允许声明可访问性 |
|---|---|---|
enum |
public |
没有 |
class |
private |
publicprotectedinternalprivateprotected internal private protected |
interface |
public |
publicprotectedinternalprivate*protected internal private protected |
struct |
private |
publicinternalprivate |
interface* 具有private辅助功能的成员必须具有默认实现。
嵌套类型的可访问性取决于其 辅助功能域,成员的声明可访问性和立即包含类型的辅助功能域确定。 但是,嵌套类型的辅助功能域不能超过包含类型的辅助功能域。
C# 语言规范
有关详细信息,请参阅 C# 语言规范。 语言规范是 C# 语法和用法的明确来源。