访问修饰符大家都很熟悉吧,今天我们来学习一下C#里面的访问修饰符。
修饰符 |
含义 |
public |
访问不受限制。 |
protected |
访问仅限于包含类或从包含类派生的类型。 |
internal |
访问仅限于当前程序集。 |
protected internal |
访问仅限于从包含类派生的当前程序集或类型。 |
private |
访问仅限于包含类型。 |
注意事项:
一个成员或类型只能有一个访问修饰符,但使用 protectedinternal 组合时除外。
命名空间上不允许使用访问修饰符。命名空间没有访问限制。
根据出现成员声明的上下文,只允许某些声明的可访问性。如果在成员声明中未指定访问修饰符,则使用默认的可访问性。
不嵌套在其他类型中的顶级类型的可访问性只能是 internal 或 public。这些类型的默认可访问性是 internal。
嵌套类型是其他类型的成员,它们可以具有下表所示的声明的可访问性。
属于 |
默认的成员可访问性 |
该成员允许的声明的可访问性 |
enum |
public |
无 |
class |
private |
public
protected
internal
private
protected internal |
interface |
public |
无 |
struct |
private |
public
internal
private |
嵌套类型的可访问性取决于它的可访问域,该域是由已声明的成员可访问性和直接包含类型的可访问域这二者共同确定的。但是,嵌套类型的可访问域不能超出包含类型的可访问域。
什么是嵌套类型?
嵌套类型,简单来说就是在一个类型中声明的类型,在形式上是外层类型的一个成员。我们常说的内部类,类里面声明类,就算嵌套类型。
实例:
//外部类
class Out
{
//内部类
class Inner
{ }
}