导入所有子类,如Java但在C#中

时间:2012-12-27 19:47:21

标签: c#

这是一个如此愚蠢的问题,但我无法弄清楚要求谷歌的术语。

在Java中,如果我想导入所有子类,我会使用像

这样的东西
java.util.*

所有的util都会导入。

首先,对于我在C#中所做的事情,正确的术语是什么,这样我才能更有效地开始使用Google。我是否导入名称空间?图书馆?子类? (你能告诉我这是新手吗?)

其次,既然我在这里,那么在C#中如何实现呢?

PS-我确实点击了每个相关的问题stackOverflow向我投掷,看看答案是否会弹出。没运气。我只是毫无言词地描述我正在寻找的东西。这个例子应该做得很好但是......任何人都可以花一点时间向我解释这个术语,或者只是简单地指出一些可以(简而言之,我有几本书长期存在)的东西大。

5 个答案:

答案 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的更多信息。

如果我误解了,请告诉我,我会尽力让你指出正确的方向。