再谈C#里4个访问权限修饰符

时间:2021-03-18 15:25:26

想必大家对这个四个修饰符都已经很了解了,但是我在这里还是要说,是为什么呢?因为每个人对它的理解不一样,我写出来对自己是个温故而知新,对大家是个分享,希望有什么不对的或需要谈论的地方大家指出来。

C#里类及类成员的修饰符有以下五个如下:
public 公开 类及类成员的修饰符 对访问成员没有级别限制
private 私有 类成员的修饰符 只能在类的内部访问
protected 受保护的 类成员的修饰符 只能在该类和该类的派生类中访问,不管该派生类和基类是否在同一程序集中
internal 内部的 类及类成员的修饰符 访问仅限于程序集中
protected internal 受保护的内部 什么意思呢? 注意看图 如果是继承关系,无论是不是在同一个程序集里都可以访问,如果不是继承关系,只能在同一个程序集中访问

类的访问权限:
   可以放在class类前面的修饰符只有public 和internal,如果没写任何修饰符,默认是internal
我们先说类的访问权限:1:public class:任何地方该类都可以被访问到;2: internal class:只有在同一程序集内(你可以这样理解:如果你建立了一个解决方案,里面有三个项目,那么就有三个程序集,如果你把第一个项目里的一个类设置为internal class,那么第二个项目想调用这个类是不可能的,因为不在同一个程序集中),该类才可以被访问到;

类成员的访问权限:
   类成员的访问权限可以由四个修饰符组成五种组合分别是:public,private ,protected,internal,protected internal;类成员前如果没写任何修饰符,默认为private。


它们的访问权限我在网上找了一张图,我把这张图贴出来,这张图很好的表明了类成员的访问权限。

再谈C#里4个访问权限修饰符