在命名空间体之外使用指令是常见的做法,但是还有哪些代码可以在命名空间体之外完成。
命名空间是可选的。如果省略,类型将被分配给全局命名空间。因此,在命名空间之外允许在顶层允许的每种代码。
// No namespace declaration here
public class MyClass()
{
}
您可以像这样显式指定此命名空间:
var c = new global::MyClass();
文档说:
编译器添加了一个默认命名空间。这个未命名的命名空间,有时称为全局命名空间,存在于每个文件中。它包含未包含在声明的命名空间中的声明。全局命名空间中的任何标识符都可用于命名空间。