【问题标题】:Multiple namespaces in a single project单个项目中的多个命名空间
【发布时间】:2013-02-17 08:37:52
【问题描述】:

我发现有时我需要在我正在处理的项目中拥有多个命名空间 - 在同一个项目中拥有多个命名空间是否会出现任何问题?
另一种选择显然是在解决方案中有多个项目(每个命名空间)。

【问题讨论】:

  • "替代方案显然是在解决方案中有多个项目。" - 这通常是更好的方法。
  • @MitchWheat 这似乎是更“有序”的方法,但它真正做的只是让我的解决方案变得混乱。一个更大的问题是它在编译时会产生多个文件。
  • 但这是一个完全不同的问题,需要不同的解决方案。
  • 不平凡的项目将有多个嵌套命名空间,不平凡的应用程序将有多个项目。这没什么大不了的。不要把所有东西都塞进一个命名空间或一个项目中,并认为你正在被组织起来。
  • 嗯? internal 表示只能在同一个程序集中访问,而不是同一个命名空间

标签: c# visual-studio-2010 namespaces solution


【解决方案1】:

是的,没关系。我的命名空间通常与项目的文件夹结构对齐。所以整个项目的顶层命名空间可能相同,但会有多个子命名空间。

命名空间的目的是 (1) 组织和 (2) 避免命名冲突,不一定按此顺序。然而,将事物分成多个项目更多是因为您想要多个二进制文件或者您想要在多个解决方案之间共享代码。这些是有些正交的问题。

【讨论】:

  • 此外,Visual Studio 使用此结构自动在新的 .cs 文件中创建命名空间。
【解决方案2】:

是的,一个命名空间有很多类。项目中的许多命名空间都很好。这是化妆品。

【讨论】:

    【解决方案3】:

    这个问题的答案是,在不涉及最佳实践的情况下,在一个项目中使用多个命名空间不会有任何技术问题。

    但是,Visual Studio 仅支持一个基本命名空间,它位于项目属性中(在项目本身的解决方案资源管理器中右键单击属性),并且无论何时创建新文件,都会使用此默认命名空间(如果在 root 上),或者默认命名空间加上您拥有的任何文件夹结构。

    本身不是问题,但您需要手动检查添加到项目中的每个新 C# 文件,并在该特定文件不使用项目的默认命名空间时相应地更改命名空间。

    【讨论】:

      猜你喜欢
      • 2011-04-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-11-22
      • 2020-08-29
      • 2012-06-20
      相关资源
      最近更新 更多