protected internal修饰符
2014-03-07 11:12
375 查看
见过这样的修饰符,但是没有仔细考虑过,今天做一个小练习。
先给出一个链接,别人在网上讨论的:http://wenku.baidu.com/view/4023f65abe23482fb4da4cfe.html
1.本类中访问的情况:
2.子类中访问的情况:(这是在同一命名空间中的,所以internal修饰的是可以访问的)
3.在同一命名空间下,但是在其它的类中的访问情况:(由于是在同一命名空间,internal和protected internal的作用没什么区别)
4.在另外的项目中,也就是命名空间不同的访问情况:
5.还有一种情况是,在另外的命名空间中,在TestA子类中的访问情况:
由上面的几个例子可以看出,internal和protected internal主要的区别如下:
1) 命名空间相同的时候,protected internal=internal;
2) 命名空间不同的时候,protected internal=protected;
也就是说protected internal用到的场合要比internal广泛。这在Jeffrey Richter的《CLR via C#》中有相关的描述:(P142 第三版)
修饰符从限制最大(private)到限制最小(public)的排序:
private
protected
internal 成员只能由定义程序集中的方法访问
protected internal 成员可由任何嵌套类型、任何派生类型(不管在什么程序集)或者定义程序集中的任何方法访问
public
先给出一个链接,别人在网上讨论的:http://wenku.baidu.com/view/4023f65abe23482fb4da4cfe.html
1.本类中访问的情况:
2.子类中访问的情况:(这是在同一命名空间中的,所以internal修饰的是可以访问的)
3.在同一命名空间下,但是在其它的类中的访问情况:(由于是在同一命名空间,internal和protected internal的作用没什么区别)
4.在另外的项目中,也就是命名空间不同的访问情况:
5.还有一种情况是,在另外的命名空间中,在TestA子类中的访问情况:
由上面的几个例子可以看出,internal和protected internal主要的区别如下:
1) 命名空间相同的时候,protected internal=internal;
2) 命名空间不同的时候,protected internal=protected;
也就是说protected internal用到的场合要比internal广泛。这在Jeffrey Richter的《CLR via C#》中有相关的描述:(P142 第三版)
修饰符从限制最大(private)到限制最小(public)的排序:
private
protected
internal 成员只能由定义程序集中的方法访问
protected internal 成员可由任何嵌套类型、任何派生类型(不管在什么程序集)或者定义程序集中的任何方法访问
public
相关文章推荐
- 九度OJ 城际公路网 -- 图论
- 开发中可能会用到的几个 jQuery 小提示和技巧
- No Dialect mapping for JDBC type 错误分析
- 辗转相除法求两个数是否互素
- pagereference return to edite page or any view
- ntfs 格式在linux下挂载
- 【AngularJS系列4】Provider, Value, Constant, Service, Factory, Decorator
- 自动更改Windows新建用户桌面文件默认路径修改
- The method of type must override or implement a supertype method解决办法
- 编译loongson内核1b-linux-3.0-20130104问题总结
- linux中移植windows无线驱动手记
- SQL分页语句
- 龙芯上的“树莓派” 开龙电子原型开发主板即将发布
- cramfsck工具
- 工作闲扯
- 堆 和 栈的 区别(经典
- UDP 远程主机强迫关闭了一个现有的连接
- android隐藏底部虚拟键Navigation Bar实现全屏
- 为什么调用 FragmentPagerAdapter.notifyDataSetChanged() 并不能更新其 Fragment?
- Source Insight中文字体设置