【问题标题】:C# Fully qualified namespaces vs small namespacesC# 完全限定命名空间与小型命名空间
【发布时间】:2017-08-09 05:28:53
【问题描述】:

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

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

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

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

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

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

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

【问题讨论】:

  • 当我们在多个命名空间中有一个同名的类时,完全限定是很有用的,否则可以只使用类名和顶部命名空间的 using 语句。
  • using 指令using 语句是您包装一次性对象引用的内容。
  • @Damien_The_Unbeliever 哎呀...

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


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-07-10
    • 2016-05-24
    • 2010-12-23
    • 1970-01-01
    • 2021-01-12
    • 2012-09-10
    • 1970-01-01
    相关资源
    最近更新 更多