命名空间(C# 参考)
namespace 关键字用于声明一组相关对象的大小。可以使用命名空间组织代码元素和创建全局唯一类型。
namespace SampleNamespace
{
class SampleClass { }
interface SampleInterface { }
struct SampleStruct { }
enum SampleEnum { a, b }
delegate void SampleDelegate(int i);
namespace SampleNamespace.Nested
{
class SampleClass2 { }
}
}
备注
在一个命名空间中,可以声明一个或多个下列类型:
另一个命名空间
无论您是否在 C# 源文件中显式声明了命名空间,编译器都会添加一个默认的命名空间。该未命名的命名空间(有时称为全局命名空间)存在于每一个文件中。全局命名空间中的任何标识符都可用于命名的命名空间中。
命名空间隐式具有公共访问权,并且这是不可修改的。有关可以分配给命名空间中的元素的访问修饰符的讨论,请参见访问修饰符(C# 参考)。
在两个或更多的声明中定义一个命名空间是可以的。例如,下面的示例将两个类定义为 MyCompany 命名空间的一部分:
namespace MyCompany.Proj1
{
class MyClass
{
}
}
namespace MyCompany.Proj1
{
class MyClass1
{
}
}
示例
下面的示例显示了如何在嵌套的命名空间中调用静态方法。
namespace SomeNameSpace
{
public class MyClass
{
static void Main()
{
Nested.NestedNameSpaceClass.SayHello();
}
}
// a nested namespace
namespace Nested
{
public class NestedNameSpaceClass
{
public static void SayHello()
{
Console.WriteLine("Hello");
}
}
}
}
// Output: Hello
更多信息
有关使用命名空间的更多信息,请参见下列主题:
C# 语言规范
有关更多信息,请参见 C# 语言规范。该语言规范是 C# 语法和用法的权威资料。