我有使用Java程序包的经验。我现在在.NET中使用命名空间。我在网上阅读了几个比较命名空间和包的网页。
假设我有一个名为:Test.TestProgram的包。如果我导入测试,那么我可以使用TestProgram。如果你有一个名为Test.Test的命名空间,我会感到困惑。如果您导入Test,则它不会导入下面的所有命名空间。这是为什么?
这是一个简单的问题,虽然我会在MSDN上找到答案。我还没有找到答案。
答案 0 :(得分:2)
导入命名空间确实可以让您在通常的规则中访问其中的所有内容。如果您的命名空间分为多个程序集,您的项目不是公共的,或者它们是内部的,那么您将无法自动访问它们。在这种情况下,您将不得不采取额外的步骤,例如引用附加程序集或声明朋友程序集,或使用反射来访问非公共成员。
答案 1 :(得分:1)
我在这里发现了这个问题:Namespace and Sub Namespaces。有一个链接到MSDN有一个解释。