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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 颜晓峰 中级黑马   /  2013-3-1 11:21  /  1707 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 颜晓峰 于 2013-3-11 14:38 编辑

在学习访问权限的时候,看到了如下内容:

public:公共成员,完全公开,没有访问限制。
internal:当前程序集内可以访问。

请问:
一。当前程序集具体指什么,有什么识别的标志?
二。相对的public就是任何程序集都可以访问了?

评分

参与人数 1技术分 +1 收起 理由
张文 + 1

查看全部评分

4 个回复

倒序浏览
1.通常一个项目就是一个程序集。没必要深究
2.据说任何程序集都可以访问。
回复 使用道具 举报
概念上,支持CLS(公共语言规范)的语言,源代码会编译为模块,模块由PE头,CLR头,元数据,中间语言(IL)代码组成。而程序集则是一个或多个模块、资源文件的逻辑分组,也是最小的重用、安全性、版本控制的单元,你可以理解为:组件。通常一个程序集只会包含一个模块(VS GUI界面只支持一个程序集包含一个模块,不支持多个,除非你用命令行的方式编译)
在VS中基本就是你的一个项目就是一个程序集了,最后生成后一个.dll就是一个程序集,包含一个项目的所有类,方法,等等。

internal与public等都是限制成员的访问权限。
public修饰的成员可以被其它程序集所访问。
但internal修饰的成员只能被该成员所在的程序集访问。
不同的程序集里可以有相同的命名空间的。

讲的很细了0.0希望你能明白,大家共同进步{:soso_e100:}

评分

参与人数 1技术分 +1 收起 理由
张文 + 1

查看全部评分

回复 使用道具 举报
程序集构成了基于 .NET 的应用程序的部署、版本控制、重用、激活范围和安全权限的基本单元。程序集以可执行 (.exe) 文件或动态链接库 (.dll) 文件的形式出现,是 .NET Framework 的生成块。它们向公共语言运行时提供了解类型实现所需要的信息。可以将程序集看成是构成逻辑功能单元并为一起工作而生成的类型和资源的集合。
程序集可以包含一个或多个模块。例如,计划较大的项目时,可以让几个各个开发人员负责单独的模块,并通过组合所有这些模块来创建单个程序集。
程序集具有以下特点:
  • 程序集作为 .exe 或 .dll 文件实现。
  • 通过将程序集放在全局程序集缓存中,可在多个应用程序之间共享程序集。在将程序集包含在全局程序集缓存之前,必须对程序集进行强命名。
  • 程序集仅在需要时才加载到内存中。如果不使用程序集,则不会加载。这意味着程序集可能是在大型项目中管理资源的有效途径。
  • 可以使用反射以编程方式获取关于程序集的信息。有
  • 如果加载程序集的目的只是对其进行检查,应使用诸如 ReflectionOnlyLoadFrom 的方法。




    以上信息来自MSDN,大家共同学习!!!


评分

参与人数 1技术分 +1 收起 理由
张文 + 1

查看全部评分

回复 使用道具 举报
一个项目就是一个程序集吧,namespace相同的就是一个程序集
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马