2

我有在 Java 中使用包的经验。我现在在 .NET 中使用命名空间。我在网上阅读了一些比较命名空间和包的网页。

假设我有一个名为:Test.TestProgram 的包。如果我导入 Test,那么我可以使用 TestProgram。如果您有一个名为 Test.Test 的命名空间,我对会发生什么感到困惑。如果您导入 Test ,那么它不会导入下面的所有命名空间。为什么是这样?

这是一个简单的问题,虽然我会在 MSDN 上找到答案。我还没有找到答案。

4

2 回答 2

2

导入命名空间确实可以让您访问其中的所有内容,当然是在通常的规则范围内。如果您的命名空间跨多个程序集拆分,您的项目不是公共的,或者它们是内部的,那么您将无法自动访问它们。在这种情况下,您将不得不采取额外的步骤,例如引用附加程序集或声明朋友程序集,或使用反射来获取非公共成员。

于 2012-09-04T20:58:21.570 回答
1

我在这里发现了这个问题:Namespace and Sub Namespaces。有一个指向 MSDN 的链接并附有解释。

于 2012-09-04T20:57:13.337 回答