C#类、方法的访问修饰符

版权声明:转载请注明出处:http://blog.csdn.net/Cool__King https://blog.csdn.net/Cool__King/article/details/81116412

C#中为了数据的安全性以及代码的拓展,定了几种访问级别,根据对应的访问修饰符,可以获取Class里面对应的字段、属性、方法等。

在C#语言中,共有五种访问修饰符:public、private、protected、internal、protected internal

 

方法或者属性的修饰符的访问级别如下图 

访问修饰符

意 义

public

公有访问。不受任何限制。

protected

保护访问。只限于本类和子类访问。

internal

内部访问。只限于本项目内访问,其他不能访问。在同一命名空间可以访问。

protected internal

内部保护访问。只限于本项目或是子类访问,其他不能访问

private

私有访问。只限于本类成员访问,子类,实例都不能访问

 

C# protected internal internal 的区别

 

protected: 奶奶有一张银行卡,妈妈可以用,女儿也可以用,隔壁老赵不可以用(因为老赵跟奶奶没有继承关系)

internal: 王总有一张银行卡,秘书可以用,经理可以用,王总儿子不可以用(因为银行卡属于公家财务,只能由公司内部人员【同一个程序集】使用,王总儿子虽然继承王总,但是他不是公司内部人员,所以也不能公款私用)

 

protected限定的是只有在继承的子类中才可以访问,可以跨程序集

internal限定的是只有在同一个程序集中才可以访问,可以跨类

所以它们是有点交叉的。 当一个CLASSITERNAL的时候,要求其所有的成员的限定范围不能大于internal 所以,当一个INTERNALCLASSPROTECTED的时候,就需要两个限定符了: internal   protected 这样,限定了访问范围是:本程序集、继承的子类

 

*程序集是包含一个或多个类型定义文件和资源文件的集合。它允许我们分离可重用类型的逻辑表示和物理表示。

比如这个就是一个程序集,包含一些资源文件、托管模块(CLR头、PE32(+)头、元数据、IL代码)

简单的说就是你将你的C#项目经过
运行编译之后形成的
dll文件和可执行文件中封装成的
程序代码集合

展开阅读全文

没有更多推荐了,返回首页