C#完全限定的命名空间与小命名空间

时间:2017-03-17 15:17:49

标签: c# namespaces using fully-qualified-naming

我已经阅读了有关您为何应该使用'内部/外部命名空间的所有问题以及为什么要使用或不使用' var'。

我不想在这里找到答案。

我想知道(或确认)的是:下面两个声明之间是否有区别?

namespace MyCo.MyProject.MyModule
{
   using MyModule2;
   /*Put class definition here*/
}

namespace MyCo.MyProject.MyModule
{
   using MyCo.MyProject.MyModule2;
   /*Put class definition here*/
}

那么在使用指令和不使用命名空间时使用名称空间的完全限定名称有什么区别?

我认为没有,但是如果有人可以给我一个参考我可以证明(或者如果我错了反驳它(真的是一个英语单词,或者我正在制作?) ),这太棒了。

1 个答案:

答案 0 :(得分:2)

命名空间用于在程序关注的不同领域之间分离责任。这意味着您可以在应用程序的不同区域中使用相同的类和组件,从而无需使用可能使用户对其操作及其上下文造成影响的任意名称。

在您的示例中,提供完整的命名空间是有效的,但您不需要,因为您已经位于可以找到该类的“区域”中。通常为了保持整洁,您可以在文件顶部使用using语句来引入所需的相关命名空间。只有当类名冲突实际上会指定命名空间或其中的一部分时,才能区分这两者。