对internal概念理解不清,请高手指点一二

xiezhi 2004-11-23 04:55:50
internal表示该成员只在当前的编译单元内可见,根据代码所在的位置,访问限定符"internal"代表了"public"和"protected"的访问性组合(摘自C#技术内幕)

不明白编译单元指的是什么范围,跟private所要求的类定义范围有多少区别
public 是类定义和派生类的层次结构外都可访问,protected是所在类和派生类可访问
他们的组合是个什么东东?
...全文
120 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
deerchao 2004-12-17
  • 打赏
  • 举报
回复
我确信,是程序集
xiezhi 2004-11-29
  • 打赏
  • 举报
回复
还不想结!~
xiezhi 2004-11-24
  • 打赏
  • 举报
回复
没有定论?
gaoxiaospring 2004-11-23
  • 打赏
  • 举报
回复
在当前exe或dll有效。
deerchao 2004-11-23
  • 打赏
  • 举报
回复
不好意思,你确信是一个文件而不是一个装配件?
我记得好像是装配件的。。。
bflovesnow 2004-11-23
  • 打赏
  • 举报
回复
internal 指的是在同一个文件里的类可以访问的对象

相当于 Java 中的 friendly

比如你在 a.cs 文件中有两个类,class a{internal string A;} class b{}

在 b 中就中以访问 a 中的 A 对象
deerchao 2004-11-23
  • 打赏
  • 举报
回复
听说过装配件(assembly)吗?

它是一个逻辑上的整体,可能包含一个或几个文件。
如果你的库里有些类型使用较少,为了让用户在使用到时才下载,可以把它放到其它的文件里。
但是逻辑上,这些不同的文件还属于同一个整体。

编译单元就是指装配件。

110,545

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧