【发布时间】:2014-04-22 06:05:39
【问题描述】:
在 C++ 中,为了定义一个只能在同一个文件中访问的符号,我们说
namespace
{
class my_private_class
{ ... }
}
但是我可以在 C# 中做同样的事情吗?还是我不得不说
namespace __DO_NOT_USE_OUT_OF_.xxx.cs__
{
public MyPrivateClass
{ ... }
}
using __DO_NOT_USE_OUT_OF_.xxx.cs__;
(假设这是在一个名为 xxx.cs 的文件中)? 当然,后者将取决于其他程序员是否考虑。
【问题讨论】:
-
不,但您可以考虑将
MyPrivateClass范围限定在另一个类中,如果它只会被该类使用。 -
注意:匿名命名空间不应与未命名命名空间 (here's a question on that) 混淆。如果您完全省略文件中的
namespace规范,则文件中的类被称为未命名命名空间(see MSDN) 的一部分,它们将进入global命名空间。这不等同于 C++ 匿名命名空间。
标签: c# namespaces