一、类型的可访问性:
-
public : 访问不受限制
-
internal:访问仅限于所属程序集。
二、类型成员的可访问性:
-
public:凡是能访问类型的地方,都能访问类的成员。如果包容类型是internal的,则只在程序集内部可见。如果包容类型为public的,则public成员可从程序集外部访问。
-
internal:成员只能从当前程序集中访问。
-
private:成员可以从包容类型中访问,但其他任何地方都不能访问。
-
protected:成员可以从包容类型以及任何派生类型中访问,即使派生类型在不同程序集中。
-
protected internal:成员可以从包容程序集中任何地方访问,还可以从包容类型的任何派生类中访问,即使派生类在不同程序集中。
三、默认的可访问性
- 类(class)的默认访问级别为internal。
- 结构体(struct)默认访问级别为private。
- 接口(interface)默认访问基本为internal;但是如果在其他public类中使用时,必须为public。
- 类和结构体成员(成员函数和成员变量)默认访问级别为private。
- 接口的成员隐式地具有public可访问性,在接口成员的声明中不允许使用访问修饰符。
- 枚举的成员隐式地具有public可访问性,声明中不允许使用访问修饰符。