A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 杨磊 黑马帝   /  2012-2-2 23:40  /  2900 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

我写了一个class student类,默认为internal,然后我又写了一个class Class类该类是student的一个集合,而后我在界面窗体里头写了个方法public void Add(student  stu),就说访问类型不一致的问题,我知道internal的权限小于public,但是都是在同一命名空间啊,internal也能访问的,问题就出在这

评分

参与人数 1技术分 +2 收起 理由
朱勋 + 2

查看全部评分

3 个回复

倒序浏览
不是很明白你的问题。。

今天被问到 internal,忘了它是 仅在同一程序集中可见。

评分

参与人数 1技术分 +2 收起 理由
朱勋 + 2

查看全部评分

回复 使用道具 举报
权限不是针对命名空间的,是针对程序集的,访问修饰符都跟命名空间没有关系
回复 使用道具 举报
类的访问类型有时也叫访问级别,使用以下访问修改符:Public、Protected、Private、internal、protected internal。
Public:对其他任何类的任何方法都是可见的;
Private:本类中定义的成员只有本类的方法才能访问;
Protected:本类中的成员只有本类的方法及继承本类的类的方法才能访问;
internal:本类中的成员只有本类所在的程序集中的任何类的方法访问;
protected internal:为protected与internal的并集。
因此从访问级别由高到低应当是Public>protected internal>internal>Protected>Private
类的默认修饰符为internal ,类中的成员变量默认修饰符为private,namespace可认为修饰符为public。继承类的访问级别不能大于被继承类的访问级别,如internal的类不能继承private的类。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马