在C#中,访问修饰符(Access Modifiers)用于定义类、方法、属性、变量等成员的可访问性范围。它们决定了哪些代码能够访问特定的成员。以下是C#中最常用的五个访问修饰符:
-
public
public
修饰符表示该成员是公开的,可以被任何其他类访问。这是访问级别最高的修饰符。
-
private
private
修饰符表示该成员是私有的,仅能被其所在的类访问。其他任何类都无法访问它,包括该类的子类。
-
protected
protected
修饰符表示该成员是受保护的,仅能被其所在的类及其子类访问。但需要注意的是,它不能被其他类(包括同一个命名空间中的类)访问。
-
internal
internal
修饰符表示该成员是内部的,可以被同一个程序集中的所有类访问。但它不能被该程序集之外的其他代码访问。
-
protected internal
protected internal
(或写作protected internal
,没有空格)是一个组合修饰符,表示该成员既可以被同一个程序集中的所有类访问,也可以被该类的子类(即使子类位于不同的程序集中)访问。这是访问级别最高的非公开(即非public
)修饰符。
需要注意的是,C#中还有一个默认访问修饰符(也称为"无修饰符"或"包级私有"),当不显式指定访问修饰符时,类的成员(字段、属性、方法等)默认为private
,但类本身(包括接口、结构体等)默认为internal
。不过,因为默认访问修饰符并不是显式声明的,所以在这里没有将其列为常用的五个之一。