c# 访问权限修饰符及默认访问权限

1、不加访问权限修饰符时的默认访问权限说明
①、声明命名空间、类,前面不加限制访问修饰符时,默认访问权限为internal——访问仅限于当前程序集。
②、声明类成员(包括字段(变量)、属性和方法)默认为private)以及结构类型,前面不加限制访问修饰符时,默认访问权限为private——访问仅限于当前类。
③、声明枚举类型以及接口类型,前面不加限制访问修饰符时,默认为public且只能为public(就算要把限制访问修饰符写出来,也只能写public,而不能使用其他限制访问修饰符)——访问不受限制。
 
2、访问权限修饰符及默认访问权限
public

程序集内外都可访问

枚举类型成员或接口隐含的访问权限

internal

程序集内或友元程序集内可访问

非嵌套类型的默认访问权限

private

仅在包含类型中可见

类成员或结构体成员的默认访问权限

protected

仅在包含类型中或子类中可见

proctected internal

protected和internal访问权限的并集(在程序集中或其他程序集的子类中可访问)。

Eric Lippert这样解释:默认情况下尽可能将所有成员定义为私有,然后每一个修饰符都会提高其访问级别。

参考文献:

C#中不加访问权限修饰符时的默认访问权限说明_richnaly的胸怀-CSDN博客

C# 访问权限修饰符及默认访问权限 - KSalomo - 博客园 (cnblogs.com)

posted @ 2021-08-05 11:55  狼王爷  阅读(1361)  评论(0编辑  收藏  举报