异界带系统的小说:asp.net里,namespace是什么?有什么作用?

来源:百度文库 编辑:高校问答 时间:2024/04/30 10:42:59
刚学Asp.net,对于namespace到底是什么,还不完全明白。谁能帮我概括一下,什么是namespace以及他的作用和使用语法

希望可以详细点,谢谢

namespace可以理解为逻辑上的函数库(里面包含各类函数),与之对应的是assembly,属于物理上的函数库(即一个个DLL文件)。
namespace是有层次的,这就好象书的章节一样,这样在使用namespace中的类和对象时,就比较容易了。象下面这个例子:dim abc As System.IO.StreamReader,一看就知道这是把abc定义为system命名空间下的IO子空间中的StreamReader类。

由于各名字空间实际是保存在各程序集(assembly)中的,因此使用名字空间前需要先引用其所在的程序集。
根据需要也可写 import namespace,这样以后使用namesapce中的类和对象时可省略那一长串路径。比如刚才的例子可以写成这样:
import System.IO
dim abc as StreamReader

有了namespace后,同名的类和函数就被允许了,因为它们位于不同的namespace中,不会产生冲突!比如System.Web.UI空间下有TextBox类,而System.Windows.Forms空间下也有一个TextBox类,这两个类的名字完全一致(其实功用也差不多),但你在使用它们的时候,系统能够很好的分辨到底是哪一个,这就是namespace的关系!

当然,除了系统的namespace,开发者可以自己定义自己的namespace。其实当你编译一个解决方案时,系统也会用你的项目名称做名字,生成一个namespace,并把你的类(其实每个web页面就是一个类)都放在这个namespace下面!

楼上的回答很详细.