c#引用 和命名空间问题
我是新手,用c#的winform写程序。我平时想用一个系统里面的类就在代码里打上usingSystem.xxx例如System.Net;就可以运用此命名空间里面的类。但这...
我是新手,用c#的winform写程序。我平时想用一个系统里面的类就在代码里打上using System.xxx 例如System.Net; 就可以运用此命名空间里面的类。但这次我在文件加上using System.Management;却用不了里面的类 必须要添加一个引用dll System.Management 才可以 。我想请问下大神们为什么会出现这种情况呢?引用dll和在命名空间里面用using System .xxx 有什么关系呢?请大神们赐教,不过没分悬赏了...
展开
3个回答
展开全部
先给您解释一下,什么是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.不然无法找到具体对应内容.无法正确引用.
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.不然无法找到具体对应内容.无法正确引用.
展开全部
C#引用不像C++之类的语言直接用#include就可以了,C#引用你必须先添加对DLL的引用才能在类里面调用DLL
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
个人感觉c#里类之间的联系更容易,只要你的代码在AppCode中,那在整个网站中,用类的全限定名引用就可以了。(或为了省去一些命名空间的限定,用Using)
还有就是只要dll在bin,也可以直接用类的全限定名引用。
但如果dll没有在bin文件夹中,就必须要引用,这个时候会有一个dll的副本进入bin文件夹里。
还有就是只要dll在bin,也可以直接用类的全限定名引用。
但如果dll没有在bin文件夹中,就必须要引用,这个时候会有一个dll的副本进入bin文件夹里。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询