namespace (Referência de C#)
O namespace palavra-chave é usada para declarar um escopo. Este escopo de namespace permite organizar o código e oferece uma maneira para criar tipos globalmente exclusivos.
namespace SampleNamespace
{
class SampleClass { }
interface SampleInterface { }
struct SampleStruct { }
enum SampleEnum { a, b }
delegate void SampleDelegate(int i);
namespace SampleNamespace.Nested
{
class SampleClass2 { }
}
}
Comentários
Em um namespace, você pode declarar uma ou mais dos seguintes tipos:
Mesmo se você não declarar explicitamente um namespace em um arquivo fonte em C#, o compilador adiciona um namespace padrão. Este namespace sem nome, às vezes chamado de namespace global, está presente em todos os arquivos. Qualquer identificador no namespace global está disponível para uso em um namespace nomeado.
Namespaces implicitamente tem acesso público e isso não pode ser modificado. Para uma discussão sobre os modificadores de acesso, você pode atribuir a elementos em um namespace, consulte Access Modifiers (C# Reference).
É possível definir um namespace em declarações de dois ou mais. Por exemplo, o exemplo a seguir define duas classes como parte do MyCompany namespace:
namespace MyCompany.Proj1
{
class MyClass
{
}
}
namespace MyCompany.Proj1
{
class MyClass1
{
}
}
Exemplo
O exemplo a seguir mostra como chamar um método estático em um namespace aninhado.
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
Para obter mais informações
Para obter mais informações sobre como usar namespaces, consulte os seguintes tópicos:
Especificação da linguagem C#
Para obter mais informações, consulte C# Language Specification A especificação de linguagem é a fonte definitiva para a sintaxe e o uso de C#.
Consulte também
Referência
Palavras-chave de namespace (referência de C#)