黑马程序员技术交流社区

标题: 关于程序集的疑问? [打印本页]

作者: 颜晓峰    时间: 2013-3-1 11:21
标题: 关于程序集的疑问?
本帖最后由 颜晓峰 于 2013-3-11 14:38 编辑

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

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

请问:
一。当前程序集具体指什么,有什么识别的标志?
二。相对的public就是任何程序集都可以访问了?
作者: 史金阳    时间: 2013-3-1 17:15
1.通常一个项目就是一个程序集。没必要深究
2.据说任何程序集都可以访问。
作者: 岳珅    时间: 2013-3-2 00:27
概念上,支持CLS(公共语言规范)的语言,源代码会编译为模块,模块由PE头,CLR头,元数据,中间语言(IL)代码组成。而程序集则是一个或多个模块、资源文件的逻辑分组,也是最小的重用、安全性、版本控制的单元,你可以理解为:组件。通常一个程序集只会包含一个模块(VS GUI界面只支持一个程序集包含一个模块,不支持多个,除非你用命令行的方式编译)
在VS中基本就是你的一个项目就是一个程序集了,最后生成后一个.dll就是一个程序集,包含一个项目的所有类,方法,等等。

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

讲的很细了0.0希望你能明白,大家共同进步{:soso_e100:}
作者: 康晓璞    时间: 2013-3-2 01:01
程序集构成了基于 .NET 的应用程序的部署、版本控制、重用、激活范围和安全权限的基本单元。程序集以可执行 (.exe) 文件或动态链接库 (.dll) 文件的形式出现,是 .NET Framework 的生成块。它们向公共语言运行时提供了解类型实现所需要的信息。可以将程序集看成是构成逻辑功能单元并为一起工作而生成的类型和资源的集合。
程序集可以包含一个或多个模块。例如,计划较大的项目时,可以让几个各个开发人员负责单独的模块,并通过组合所有这些模块来创建单个程序集。
程序集具有以下特点:


作者: 张怀晶    时间: 2013-3-9 20:47
一个项目就是一个程序集吧,namespace相同的就是一个程序集




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