在solution explorer 中添加reference 和在代码中添加 using 空间名 有什么区别?

xghost 2003-10-20 04:26:29
在solution explorer 中添加reference 和在代码中添加 using 空间名 有什么区别?

reference 中的格式是
system
system.data
system.drawing
system.windows.forms
...

在代码中添加命名空间
using system;
using system.data;
...

两者之间有什么关系?
...全文
163 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
xghost 2003-10-20
  • 打赏
  • 举报
回复
明白了,多谢楼上各位!!!
wideroad 2003-10-20
  • 打赏
  • 举报
回复
比如说有一个组件叫a.dll,你在reference中引用他,你再写
using a
这一般会出现错误,应为using 后面是类的命名空间,而组件名不一定就是次组件中类的命名空间,所以简单这样写是不对的。一般来说你如果用的是一个Com控件组件的话,当在Reference中添加引用之后,在using 中会自动出现其的命名空间。
AhBian 2003-10-20
  • 打赏
  • 举报
回复
using 与 add reference 是两个完全不同的概念,但相关。

创建一个“最原始”的工程时,其实什么类库都没被添加(也可称为“引用”)除了 mscorlib.dll。

平时使用 VS.NET 创建工程时,VS.NET 会根据不同的工程类型自动添加一些常用的 .NET FCL 类库的引用,如 reference 中所见的 System, System.Data 等等,表示本工程已添加了对 System.DLL, System.Data.DLL 两个类库的引用。
如果不添加对特定类库的引用,将无法使用对应类库中的类或其它类型。

using 则是对命名空间的引用,主要用于在使用某个类型名称时省略其所在命名空间的书写。
using 所引用的命名空间,必须是能够在本工程内部或所添加的引用类库中找得到的。
譬如说,System.EventArgs,如果没有添加 using System; 这一语句,那么在每次使用到 EventArgs 时必须完整书写其完整的类型名称:System.EventArgs。反之,如果有了此句时,就可以简单地书写为 EventArgs 就可以了。
但也有特殊情况,如果在同一个文档内其它 using 的命名空间中也有相同名称的 EventArgs 定义时,就会出现命名空间冲突,这时就必须书写完整的类型名称。

这是一个最基本的概念。
xghost 2003-10-20
  • 打赏
  • 举报
回复
To:wideroad()
To: HNU(HNU)
To:herofyf()

我发现在solution explorer 中添加reference 之后,再在代码中用 using 它,编译通不过.....
herofyf 2003-10-20
  • 打赏
  • 举报
回复
添加引用表示此程序集可能要使用到库中相应功能!而用using表示程序有哪些默认的命名空间。可以直接调用其默认命名空间中相应类!
tmz346 2003-10-20
  • 打赏
  • 举报
回复
using是为了书写程序的方便
Reference加载类库
HNU 2003-10-20
  • 打赏
  • 举报
回复

楼上说“要在using中写一遍”,我不同意

1. 在solution explorer 中添加reference 表示你想使用其它“程序集”,“程序集”可以是自己创建后保存在硬盘,或者是微软做好了的库。一般也就是DLL文件,这里面定义了命名空间,类,方法,属性等。

2. 代码中添加 using 空间名表示你正式想使用一个命名空间的内容。

如果说第一步是你为DLL定位,也就是其逻辑文件名,硬盘物理地址。

第二步就是表示你在程序中使用它了!


wideroad 2003-10-20
  • 打赏
  • 举报
回复
当装.NET Framework的时候,他自己带许多类库,用using应用的是这其中的类库,而在Reference中添加的是.NET Framework中原来没有的,因此需要在Reference中添加,这种组件在Reference中添加之后还需要在using中写一遍。

110,536

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧