c#中public,private,protected,internal的区别
来源:互联网 发布:mac加密ntfs 编辑:程序博客网 时间:2024/05/22 08:27
public 可以被外部成员调用
private 只能在被类的成员调用
protected 只能在被类的成员和该类的子类调用
internal 可以在当前项目调用
public: 对任何类和成员都公开, 无限制访问;
protected: 仅仅对该类以及该类的派生类公开;
private: 仅仅对该类公开;
internal: 只能值包含该类的程序集中访问该类;
protected internal: 只能在本类,派生类或者包含该类的程序集中访问.
比如说:一个人A为父类,他的儿子B,妻子C,私生子D(注:D不在他家里)
如果我们给A的事情增加修饰符:
public事件,地球人都知道,全公开
protected事件,A,B,D知道(A和他的所有儿子知道,妻子C不知道)
private事件,只有A知道(隐私?心事?)
internal事件,A,B,C知道(A家里人都知道,私生子D不知道)
protected internal事件,A,B,C,D都知道,其它人不知道
另外:
貌似protected,internal,protected internal只能修饰嵌套类(nested class),下面代码编译错误:
protected class C
{
public int Get C()
{
return 3;
}
}
错误信息:Namespace elements cannot be explicitly declared as private, protected, or protected internal
微软官方解释:不嵌套在其他类型中的顶级类型的可访问性只能是 internal 或 public。这些类型的默认可访问性是 internal。
Tips:
1,命名空间上不允许使用访问修饰符。命名空间没有访问限制。
2,一个成员或类型只能有一个访问修饰符,使用 protectedinternal 组合时除外
最后注意:
1,assembly中的class默认访问修饰符为internal
2,类中的字段默认为private
3,类中的方法默认为private,包括构造函数
- c#中public,private,protected,internal的区别
- c#中public,private,protected,internal的区别
- c#中public,private,protected,internal的区别
- c#中public,private,protected,internal的区别
- c#中public,private,protected,internal的区别
- c#中public private protected internal 的区别
- c#中public,private,protected,internal的区别
- c#中public,private,protected,internal的区别
- c#中public,private,protected,internal的区别
- c#中访问修饰符public,private,protected,internal,protected internal的区别
- C# private ,protected ,public ,protected internal区别
- c# 修饰词public, protected, private,internal,protected的区别
- c# 修饰词public, protected, private,internal,protected的区别
- c# 修饰词public, protected, private,internal,protected的区别
- c# 类的public private internal protected的区别
- c# 类的public private internal protected的区别
- c# 类的public private internal protected的区别
- c# 类的public private internal protected的区别
- 使用VideoView 或者SurfaceView 实现视频播放功能
- MySQL命令
- linux下面文件的一些基本操作
- 目标检测之二(传统算法和深度学习的源码学习)
- IF判断括号区别
- c#中public,private,protected,internal的区别
- 使用POI读写word docx文件
- Check failed: registry.count(type) == 1 (0 vs. 1) Unknown layer type: Python
- RecyclerView实现瀑布流的效果
- 模拟恶劣网络环境常用的几种解决方案
- react-cnode实践笔记
- android弹力效果菜单、组件化项目、电影票选座控件的源码
- yii2 使用 ueditor 的配置步骤
- 误差表示方法