Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
The namespace keyword is used to declare a scope. This namespace scope lets you organize code and gives you a way to create globally unique types. For complete syntax information, see the C# Language Specification.
namespace name[.name1] ...] {
type-declarations
}
Parameters
- name, name1
A namespace name can be any legal identifier. A namespace name can contain periods.
type-declarations
Within a namespace, you can declare one or more of the following types:
Remarks
Even if you do not explicitly declare one, a default namespace is created. This unnamed namespace, sometimes called the global namespace, is present in every file. Any identifier in the global namespace is available for use in a named namespace.
Namespaces implicitly have public access and this is not modifiable. For a discussion of the access modifiers you can assign to elements within a namespace, see Access Modifiers (C# Reference).
It is possible to define a namespace in two or more declarations. For example, the following sample defines two classes as part of the MyCompany
namespace:
// cs_namespace_keyword.cs
// compile with: /target:library
namespace MyCompany.Proj1
{
class MyClass
{
}
}
namespace MyCompany.Proj1
{
class MyClass1
{
}
}
Example
The following example shows how to call a static method in a nested namespace.
// cs_namespace_keyword_2.cs
using System;
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
For More Information
For more information on using namespaces, see the following topics:
C# Language Specification
For more information, see the following sections in the C# Language Specification:
3.4.1 Namespace members
3.8 Namespace and type names
9 Namespaces
See Also
Reference
C# Keywords
Namespace Keywords (C# Reference)
using (C# Reference)