c#引用 和命名空间问题

我是新手,用c#的winform写程序。我平时想用一个系统里面的类就在代码里打上usingSystem.xxx例如System.Net;就可以运用此命名空间里面的类。但这... 我是新手,用c#的winform写程序。我平时想用一个系统里面的类就在代码里打上using System.xxx 例如System.Net; 就可以运用此命名空间里面的类。但这次我在文件加上using System.Management;却用不了里面的类 必须要添加一个引用dll System.Management 才可以 。我想请问下大神们为什么会出现这种情况呢?引用dll和在命名空间里面用using System .xxx 有什么关系呢?请大神们赐教,不过没分悬赏了... 展开
 我来答
Ben
推荐于2017-09-11 · 知道合伙人软件行家
Ben
知道合伙人软件行家
采纳数:860 获赞数:2875
认真回答者.

向TA提问 私信TA
展开全部
先给您解释一下,什么是USING.
Using作为引入命名空间指令的用法规则为:
using Namespace;
在.NET程序中,最常见的代码莫过于在程序文件的开头引入System命名空间,其原因在于System命名空间中封装了很多最基本最常用的操作,下面的代码对我们来说最为熟悉不过:
using System;
这样,我们在程序中就可以直接使用命名空间中的类型,而不必指定详细的类型名称。using指令可以访问嵌套命名空间。
关于:命名空间
命名空间是.NET程序在逻辑上的组织结构,而并非实际的物理结构,是一种避免类名冲突的方法,用于将不同的数据类型组合划分的方式。例如,在.NET中很多的基本类型都位于System命名空间,数据操作类型位于System.Data命名空间,

OK.再接着看.您问的问题是.
using System.Management 需要引用dll System.Management

您做一个实验.在您的解决方案中新建一个项目.一个类库项目.在您不引用他的时候.USING语句也无法使用.对吧? 必须添加了引用以后才能有USING您的类库中的任意命名空间.

根据上述两种情况.很明显的得知.C# 中. 所有的DLL文件与您的项目均是解耦的.
您的项目也是单独的一个命名空间划分.DLL与DLL之间没有必然联系.
即使您在单纯敲代码的层面上看
System.Net;

直接输入这个可以.但是当您新建的是WINFORM程序.System.Net;也就不能用了.这个原因是.VS自动帮您引用了部分DLL

由于DLL与DLL之间原本是解耦.没有任何联系的.所以导致您要USING某一个命名空间时.就必须去引用该命名空间的DLL.不然无法找到具体对应内容.无法正确引用.
talencz
2013-06-16 · 超过52用户采纳过TA的回答
知道小有建树答主
回答量:163
采纳率:0%
帮助的人:137万
展开全部
C#引用不像C++之类的语言直接用#include就可以了,C#引用你必须先添加对DLL的引用才能在类里面调用DLL
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
myrealword
2013-06-16 · TA获得超过306个赞
知道小有建树答主
回答量:227
采纳率:100%
帮助的人:166万
展开全部
个人感觉c#里类之间的联系更容易,只要你的代码在AppCode中,那在整个网站中,用类的全限定名引用就可以了。(或为了省去一些命名空间的限定,用Using)

还有就是只要dll在bin,也可以直接用类的全限定名引用。

但如果dll没有在bin文件夹中,就必须要引用,这个时候会有一个dll的副本进入bin文件夹里。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式