我目前正在开发.NET Windows服务,并对引用与名称空间如何在高级别上工作感到好奇。我来自C ++背景,我只熟悉#include< ...>等语句。等等。谢谢你的澄清。
答案 0 :(得分:3)
引用只是告诉编译器在尝试解析它们时在引用的程序集中查找类型的一种方法。
现在,名称空间与程序集无关。命名空间是一个逻辑结构,而程序集是一个物理结构。
这就是您从mscorlib.dll,System.dll,System.Core.dll等中的System命名空间中看到.NET中的类的原因。
因此,虽然两者之间可能存在巨大的重叠,但应避免在太多程序集中泄露命名空间。
我采用每命名空间的程序集方法(程序集只有一个名称空间的类型,假设它是专门的),但你的方法可能会有所不同。
一般来说,保持命名空间流失很小(或根本没有),你通常会没事。
答案 1 :(得分:0)
对于所有意图和目的,引用(例如使用System.Text)就像#includes一样,但不包括链接程序集的头文件。
命名空间是将代码划分为语义相似的块的非常方便的方法;例如,所有Xml类型类都在System.Xml中。