【发布时间】:2014-08-28 15:33:44
【问题描述】:
我花了一段时间才理解我要描述的问题,所以如果描述令人困惑,请告诉我......
我有一个名为“cProp”的对象,它定义了许多子类。要在项目的其他文件中引用这些类,我必须执行类似...
Dim cp = New cProp.InflationRow()
我明白为什么会这样;由于 InflationRow 在 cProp“内部”,我需要告诉它在哪里可以找到它。很好。
但这当然会变得乏味,所以有时你想修复它......
Imports cProp
为什么这不起作用?为什么我必须...
Imports ProjectName.cProp
您可能想知道我为什么关心这些文件,但这些文件用于许多不同名称的项目中。因此,如果我使用 Imports,我必须在很多地方更改项目名称。我知道命名空间可能是我想要的解决方案,对吧?
我的困惑源于编译器可以很好地确定我在代码中指的是哪个 cProp(这是唯一的),那么为什么不在 Imports 中呢?我想我在这里遗漏了一些基本的东西。
【问题讨论】:
-
因为语言是这样设计的,所以项目实际上是一个命名空间 :) msdn.microsoft.com/en-us/library/aa711891(v=vs.71).aspx 顺便说一句,C# 很多 less generous
-
当然可以,但是为什么我需要将命名空间放在 Imports 中,而不是放在代码本身中?
-
>
" these files are used in numerous projects with different names."-- 是时候将它们移到自己的程序集中了。
标签: vb.net namespaces