辅助功能级别 (C# 参考)

使用访问修饰符、publicprotectedinternalprivate,为成员指定以下声明的辅助功能级别之一。

声明的辅助功能 含义
public 访问不受限制。
protected 访问权限仅限于派生自包含类的包含类或类型。
internal 访问权限仅限于当前程序集。
protected internal 访问权限仅限于从包含类派生的当前程序集或类型。
private 访问权限仅限于包含类型。
private protected 访问权限仅限于从当前程序集中的包含类派生的包含类或类型。

成员或类型仅允许一个访问修饰符,但使用 protected internalprivate protected 组合时除外。

命名空间上不允许访问修饰符。 命名空间没有任何访问限制。

根据成员声明的发生上下文,只允许某些声明的辅助功能。 如果未在成员声明中指定任何访问修饰符,则使用默认辅助功能。

顶级类型不能嵌套在其他类型的类型中,只能具有 internalpublic 可访问性。 这些类型的默认可访问性为 internal

嵌套类型(属于其他类型的成员)可以声明辅助功能,如下表所示。

成员 默认成员辅助功能 成员的允许声明可访问性
enum public 没有
class private public

protected

internal

private

protected internal

private protected
interface public public

protected

internal

private*

protected internal

private protected
struct private public

internal

private

interface* 具有private辅助功能的成员必须具有默认实现。

注释

如果使用关键字修饰符修改 record 类或结构,则允许相同的访问修饰符。
此外,使用 record 修饰符时,默认成员辅助功能仍 private 适用于类和结构。

嵌套类型的可访问性取决于其 辅助功能域,该域由成员的声明可访问性和立即包含类型的辅助功能域确定。 但是,嵌套类型的可访问域不能超出包含类型的可访问域。

C# 语言规范

有关详细信息,请参阅 C# 语言规范。 语言规范是 C# 语法和用法的明确来源。

另请参阅