C#:访问修饰符
2018-06-17 20:42:52来源:未知 阅读 ()
- public
-
同一程序集中的任何其他代码或引用该程序集的其他程序集都可以访问该类型或成员。
- private
-
只有同一类或结构中的代码可以访问该类型或成员。
- protected
-
只有同一类或结构或者此类的派生类中的代码才可以访问的类型或成员。
- internal
-
同一程序集中的任何代码都可以访问该类型或成员,但其他程序集中的代码不可以。
- protected internal
-
由其声明的程序集或另一个程序集派生的类中任何代码都可访问的类型或成员。 从另一个程序集进行访问必须在类声明中发生,该类声明派生自其中声明受保护的内部元素的类,并且必须通过派生的类类型的实例发生。
这里主要说一下protected internal,它所限定的访问权限是internal和protected的访问权限的并集,而不是交集,也就是说它的访问权限包括internal的访问权限和
protected的访问权限。可以用以下公式说明它的访问权限:
(protected internal)的访问权限=(internal)的访问权限+(protected)的访问权限
或者可以这么理解
(protected internal)的访问权限=(internal)的访问权限∪(protected)的访问权限
访问权限的大小比较:
private<protected<protected internal<public或者private<internal<protected internal<public
protected的访问权限和internal的访问权限不具有可比性。
对于访问修饰符,有以下几点需要注意:
①一个成员或类型只能有一个访问修饰符,但使用protected internal组合时除外。
②命名空间上不允许使用访问修饰符。命名空间没有访问限制。
③根据出现成员声明的上下文,只允许某些声明的可访问性。如果在成员声明中未指定访问修饰符,则使用默认的可访问性。不嵌套在其他类型中的顶级类型的可访问性只能是internal或public。这些类型的默认可访问性是 internal。嵌套类型是其他类型的成员,它们可以具有下表所示的声明的可访问性。
属于 | 默认的成员可访问性 | 该成员允许的声明的可访问性 |
enum | public | 无 |
class |
private |
public protected internal private protected internal |
interface | public | 无 |
struct |
private |
public internal private |
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- Python-12-装饰器 2019-07-24
- python函数修饰符@的使用 2019-07-24
- python3.7 pip升级或安装,拒绝访问 解决方案 2019-07-24
- python 通过Sybase ASE ODBC Driver访问sybase数据库,无需 2019-07-24
- python高级-迭代器(18) 2019-04-18
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash