|
|
1
2
是的,那很好。关于不让命名空间中的类型依赖于“子”命名空间中的类型的主要指导实际上更多地是关于公共API的。内部类和仅由内部类型使用的名称空间实际上是一个实现细节,不受任何指导。
我会坚持你认为有意义的东西。使用内部名称空间似乎是合理的(尽管我可能会做类似名称空间的事情)
另外,考虑到你的
|
|
|
2
1
名称空间有几个关键用途:
现在谈谈你的具体问题。从外部名称空间引用内部名称空间中的类型不是很理想,但也不可怕。虽然我现在想不出一个,但如果.NET框架本身存在这种情况,我也不会感到惊讶。作为一个一般的设计原则,在层中构建代码是一个好主意;而且通常那些层的结构使得不太“专业化”的代码不知道更多的“特定代码”。
但是,您应该避免使用名称空间根据可访问性对类型进行分组。这无疑是对名称空间的滥用——从长远来看,很可能会导致问题(特别是因为扩展类型的可访问性是很常见的——但更改它所属的名称空间可能相当困难)。 然而,在我看来,只要你在做什么上是一致的,并且在名称空间之间有一个合理的类型划分,我认为你会没事的。 |
|
|
3
1
为避免污染根命名空间,我建议使用以下任一方法:
|
|
|
4
0
如果你按你的建议去做,那没什么大不了的,但我认为最好还是避免笑话。内部的“命名空间。我不会认为内部类“污染”了根命名空间。
|