黑马程序员_C#各种元素的访问修饰符的默认值
来源:互联网 发布:编辑图片软件 编辑:程序博客网 时间:2024/06/03 22:31
------- Windows Phone 7手机开发、.Net培训、期待与您交流! -------
一个编译器错误提示:在命名空间中定义的元素无法显示的声明为 private,protected,protected internal。
能在命名空间中定义的元素有:类(class),结构(struct),委托(delegate),接口(interface),枚举(enum)
我们的访问修饰符一共有5个级别:public, private, protected, internal, protected internal
1.命名空间下的元素的默认访问修饰符
根据上面的编译器错误提示,可以知道命名空间下只能使用两种访问修饰符public和internal。如果没有显示的给这些元素访问修饰符,其修饰符默认为internal 。
public:同一程序集的其他任何代码或引用该程序集的其他程序集都可以访问该类型或成员。
internal:同一程序集中的任何代码都可以访问该类型或成员,但其他程序集不可以访问。
2.各类型中的成员的默认访问修饰符
剩下的修饰符主要是正对继承这个语言特性的,拥有继承的类型有两个,类(class)和接口(interface)。public,internal同样可以用于类型成员。
private:同一类和结构的代码可以访问该类型和成员。
protected:同一类和派生(继承特性)类中的代码可以访问该类型和成员。
protected internal:同一程序集中的任何代码或其他程序集中的任何派生类都可以访问该类型或成员。
MSDN提示:
1.) 派生类的可访问性不能高于其基类型。换句话说,不能有从内部类 A 派生的公共类 B。如果允许这种情况,将会使 A 成为公共类,因为 A 的所有受保护的成员或内部成员都可以从派生类访问。
2.) 成员的可访问性决不能高于其包含类型的可访问性。
3.) 可以使用五种访问类型中的任何一种来声明类成员(包括嵌套的类和结构)。
接口(interface)
接口成员访问修饰符默认为public,且不能显示使用访问修饰符。
类(class)
构造函数默认为public访问修饰符。
析构函数不能显示使用访问修饰符且默认为private访问修饰符。
类的成员默认访问修饰符为private;
枚举(enum)
枚举类型成员默认为public访问修饰符,且不能显示使用修饰符。
结构(struct)
结构成员默认为private修饰符。
结构成员无法声明为protected成员,因为结构不支持继承。
嵌套类型
嵌套类型的默认访问修饰符为private。 和类,结构的成员默认访问类型一致。
- 黑马程序员_C#各种元素的访问修饰符的默认值
- 黑马程序员之访问修饰符及各种元素的访问修饰符的默认值
- 黑马程序员-访问修饰符的学习
- 黑马程序员---类和成员的各种访问修饰符大全,命名空间的使用
- 黑马程序员_C#语言中各种循环的优缺点
- 黑马程序员C#中类的可访问修饰符
- 黑马程序员---访问修饰符
- 黑马程序员---修饰符和访问修饰
- 各种类型的访问修饰符
- 黑马程序员 对访问器的访问修饰符的限制
- 黑马程序员_C语言中运算符的总结
- 黑马程序员_C#中枚举的简介
- 黑马程序员_C#的异常处理机制
- 黑马程序员_C#代码的调试问题
- 黑马程序员_C#数组的学习
- 黑马程序员_C#循环语句的学习
- 黑马程序员_C语言的数据类型
- 黑马程序员_C语言的函数
- MySQL查询优化
- C# word中插入页脚而不要页眉横线
- 修复IE(lte 8) ArraySlice 调用在DOM集合时脚本报错的补丁
- 【常用代码】调试日志
- 生活--style
- 黑马程序员_C#各种元素的访问修饰符的默认值
- 黑马程序员_事件
- 寒春:2013年2月的RSA Conference与硅谷
- u盘安装 fedora-18-Beta live版成功
- 黑马程序员_泛型
- [转载]iOS应用性能调优的25个建议和技巧
- IOS开发之深拷贝与浅拷贝(mutableCopy与Copy)详解
- mysql从innodb转到MyIsam的count查询效率极大提升
- 第2章 数据类型与表达式 【例题(无错运行版本)】