我可以
吗?namespace somenamespace
{
//references functionality in DLL_1
namespace somesubnamespace
{
//references functionality in DLL_2
}
}
如果我这样做,当我只使用somenamespace时,它是否只在解决方案中包含DLL_1,如果我使用somenamespace.somesubnamespace,它会在解决方案中包含DLL_1和DLL_2吗?
或者在包含命名空间的项目上设置DLL_1和DLL_2,无论我使用哪个DLL,都会复制这两个DLL?
答案 0 :(得分:2)
您只需要添加对代码实际使用的DLL的引用(直接或间接)。
因此,如果库X有两个分别引用库A和B的类,并且您只使用引用库A的类,则根本不需要库B.
命名空间是组织概念,与其无关。
答案 1 :(得分:1)
如果添加对DLL的引用,则会复制它们。由于您必须添加引用才能使用它们,因此将始终复制它们。
答案 2 :(得分:1)
上面的代码完全等同于:
namespace.somesubnamespace
{
}
如果您按自己的方式编写,或者以这种方式编写,则在代码中访问somesubnamespace
的方式完全相同。
命名空间基本上只是用于组织代码的标签。根据您的代码访问的内容将决定您需要哪些引用 - 但您的问题的答案是“否”,namespace
的引用不一定是必需的。在这方面,namespace.somesubnamespace
是一个独立的命名空间。