C # namespace (Namespace)
Namespace é projetado para fornecer uma maneira para que um nome de grupo e outros nomes maneira separada.Nome outra declaração de namespace em um namespace declarado no mesmo nome de classe classe não entre em conflito.
definindo namespaces
É definido espaço de nomesespaço de nomes de palavras-chave,seguido pelo nome de um espaço de nomes, como se segue:
namespace_name namespace { } // Código declara
A fim de chamar o suporte versão namespace de uma função ou nome da variável será colocado na frente do namespace, da seguinte forma:
namespace_name.item_name;
O programa a seguir demonstra o uso do espaço de nomes:
using System; first_space namespace { namespace_cl classe { public void func () { Console.WriteLine ( "Inside first_space"); } } } second_space namespace { namespace_cl classe { public void func () { Console.WriteLine ( "Inside second_space"); } } } classe TestClass { static void Main (string [] args) { first_space.namespace_cl fc = new first_space.namespace_cl (); second_space.namespace_cl sc = new second_space.namespace_cl (); fc.func (); sc.func (); Console.ReadKey (); } }
Quando o código acima é compilado e executado, ele produz os seguintes resultados:
dentro first_space dentro second_space
usandopalavras-chave
usando a palavra chave indica que o programa utiliza um determinado espaço chamado depois.Por exemplo, usamos o namespaceSystem no programa, que define uma classe Console.Nós só pode escrever:
Console.WriteLine ( "Olá");
Podemos escrever o nome completo, como segue:
System.Console.WriteLine ( "Olá");
Você também pode usar as diretivasusando nomes, por isso, quando em uso não seria precedido por um nome de namespace.Esta directiva diz o código do compilador é então usado para especificar o nome do espaço de nomes. O código a seguir atrasar o namespace do aplicativo.
Vamos usar o exemplo acima usando a reescrever especificado:
using System; usando first_space; usando second_space; first_space namespace { abc classe { public void func () { Console.WriteLine ( "Inside first_space"); } } } second_space namespace { efg classe { public void func () { Console.WriteLine ( "Inside second_space"); } } } classe TestClass { static void Main (string [] args) { abc fc = new abc (); efg sc = new efg (); fc.func (); sc.func (); Console.ReadKey (); } }
Quando o código acima é compilado e executado, ele produz os seguintes resultados:
dentro first_space dentro second_space
namespaces aninhados
Namespaces podem ser aninhados, ou seja, você pode definir outro namespace dentro de um namespace, da seguinte forma:
namespace_name1 namespace { // Código declara namespace namespace_name2 { } // Código declara }
Você pode usar o operador ponto para acessar um membro de um namespace aninhado, como se segue ():
using System; usando first_space; usando first_space.second_space; first_space namespace { abc classe { public void func () { Console.WriteLine ( "Inside first_space"); } } second_space namespace { efg classe { public void func () { Console.WriteLine ( "Inside second_space"); } } } } classe TestClass { static void Main (string [] args) { abc fc = new abc (); efg sc = new efg (); fc.func (); sc.func (); Console.ReadKey (); } }
Quando o código acima é compilado e executado, ele produz os seguintes resultados:
dentro first_space dentro second_space