程序集和命名空间

6

一个命名空间中的所有内容是否编译成自己的程序集?

5个回答

15

不可以。

一个程序集可以有多个命名空间,并且您可以在不同的程序集中使用相同的命名空间。


2
System.dll和System.Core.dll都包含System和System.Collections.Generic命名空间中的类型(以及许多其他类型)。 - Richard

8
不,您可以在一个程序集中拥有多个命名空间。在VS术语中,您可以将程序集视为一个项目。解决方案中的每个项目都会编译成自己的程序集。但是,在一个程序集中,您可以拥有多个命名空间。

2

除了常规的惯例,即程序集中类的全名将与程序集名称(以某种方式)匹配之外,程序集和命名空间之间没有任何关系。

这只是一种命名惯例 - 正如 Guffa所说,程序集可以为多个命名空间定义类,并且存在于命名空间中的类可能来自多个程序集。


0
类被组织在命名空间中,只是为了保持命名的分离和组织。将命名空间看作包含一个或多个类的“文件夹”,可能在一个或多个程序集(DLL)中定义。
更多信息:https://dev59.com/CmIj5IYBdhLWcg3wn2dn#20056937

0
如果你在问每个命名空间是否会导致一个单独的程序集,那么答案是否定的。一个程序集可以包含多个命名空间。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接