这是一个如此愚蠢的问题,但我无法弄清楚要求谷歌的术语。
在Java中,如果我想导入所有子类,我会使用像
这样的东西java.util.*
所有的util都会导入。
首先,对于我在C#中所做的事情,正确的术语是什么,这样我才能更有效地开始使用Google。我是否导入名称空间?图书馆?子类? (你能告诉我这是新手吗?)
其次,既然我在这里,那么在C#中如何实现呢?
PS-我确实点击了每个相关的问题stackOverflow向我投掷,看看答案是否会弹出。没运气。我只是毫无言词地描述我正在寻找的东西。这个例子应该做得很好但是......任何人都可以花一点时间向我解释这个术语,或者只是简单地指出一些可以(简而言之,我有几本书长期存在)的东西大。
答案 0 :(得分:18)
首先,让我们区分汇编引用和命名空间。
程序集是您在c#项目中添加引用的内容,它们是包含您需要的实际类的库,通常作为DLL文件找到。 .net框架包含许多此类程序集,Visual Studio将尝试引用项目中最常用的程序集(例如,对于WinForms项目,它将自动添加对System.Drawing.dll
的引用。)
命名空间是程序集中类的逻辑分区。
在项目中引用程序集后,如果您提供其全名,则所有名称空间中的所有类都可供使用。
这是using
指令的来源。
不必一直写很长的名字只是语法糖。
例如,假设您的项目引用了System.Drawing.dll
程序集,则必须使用它的全名来限定此程序集中的类,例如
System.Drawing.Imaging.BitmapData
如果您使用
启动.cs
文件,这会令人厌烦并使代码膨胀
using System.Drawing.Imaging;
然后,您可以仅使用名称BitmapData
来实例化一个类。
这仅适用于您添加.cs
指令的using
文件,而不适用于整个项目。
此外,重要的是要注意using
一个命名空间不会引入所有嵌套的命名空间,每个命名空间必须using
。
答案 1 :(得分:7)
答案 2 :(得分:4)
它可以被称为导入/引用/使用命名空间。
这种语言功能在c#中不可用。
一点解释:Namesspace可以分布在多个库中。因此,当您使用命名空间时,它可以从多个引用的程序集中引用它。
答案 3 :(得分:1)
它被称为namespace
,它由关键字using
导入。例如:
using System;
此语句使您可以引用该命名空间中存在的所有类。但是,它们不允许您引用声明的namespace
的子名称空间中的任何类。您必须单独声明每个namespace
。例如:
using System;
using System.Text;
当然,您需要在项目中添加适当的引用,并指定using
指令。
答案 4 :(得分:0)
在.Net中,您首先需要确保存在包含您要导入的命名空间的引用程序集。一旦存在该引用,您可以使用'using'指令将该命名空间引入该类,以便不必完全限定所有对象名称。您可以找到有关此指令on MSDN的更多信息。
如果我误解了,请告诉我,我会尽力让你指出正确的方向。