黑马程序员技术交流社区

标题: c#关于internal,跟public [打印本页]

作者: 杨磊    时间: 2012-2-2 23:40
标题: c#关于internal,跟public
我写了一个class student类,默认为internal,然后我又写了一个class Class类该类是student的一个集合,而后我在界面窗体里头写了个方法public void Add(student  stu),就说访问类型不一致的问题,我知道internal的权限小于public,但是都是在同一命名空间啊,internal也能访问的,问题就出在这
作者: 岳喜礼    时间: 2012-2-3 00:06
不是很明白你的问题。。

今天被问到 internal,忘了它是 仅在同一程序集中可见。
作者: 张立    时间: 2012-2-3 15:12
权限不是针对命名空间的,是针对程序集的,访问修饰符都跟命名空间没有关系
作者: 黄晓波    时间: 2012-2-4 09:11
类的访问类型有时也叫访问级别,使用以下访问修改符: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的类。





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2