c#单元(文件范围)命名空间

本文关键字:命名空间 范围 文件 单元 | 更新日期: 2023-09-27 18:02:26

我阅读了c#规范并在谷歌上搜索了一下,但一无所获。

我99%肯定c#中没有单元命名空间指令这样的功能,但问题是:为什么?是出于习惯还是技术上的原因?

这很方便,特别是当我们的大多数文件由单个命名空间组成时。是否有任何功能要求或建议?也许我们可以做一个?

// with unit namespace
namespace Foo;
class Bar { ... } // Class Bar declared inside Foo Namespace
struct Baz { ... } // Baz is inside Foo too
// without
namespace Foo {
  class Bar { ... }
  class Baz { ... }
}

或者也许有一种方法可以重新导出全局符号?我的意思是,首先你声明global命名空间中的所有东西,然后在选定的命名空间中发布公共符号?

c#代码的深度嵌套是我最讨厌的事情之一。

我真的很喜欢c++的能力,它可以转发声明甚至嵌套类,然后定义它们,甚至不需要额外的嵌套层。

感谢您的宝贵时间。

c#单元(文件范围)命名空间

逻辑上,名称空间是块的,就像类一样,只是它们只能包含类型,而不能包含成员。

对这种块使用特殊的语法是毫无意义的,而且会令人困惑。