0

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

我不希望在这里找到答案。

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

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

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

那么在 using 指令中为命名空间使用完全限定名称与不使用它们有什么区别?

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

4

1 回答 1

2

命名空间用于区分不同的程序关注领域之间的责任。这意味着您可以在应用程序的不同区域中使用相同名称的类和组件,无需使用可能使用户对他们所做的事情及其上下文感到困惑的任意名称。

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

于 2017-03-17T15:24:23.280 回答